We are seeing a RED_ENFILE (file table overflow/red_errno = 23) error during operation. What does this mean?
Reliance Edge has a fixed number of preallocated inodes. (Much like many Unix-like file systems, such as ext2/3/4.) One inode is allocated for the root directory during format, and afterward each file or directory which is created will allocate an inode. The RED_ENFILE errno is returned when creating a new file or directory is not possible, because all the inodes have been allocated.
You will want to look at how many files and directories you have created on the Reliance Edge file system? And, also check on how many inodes you configured the file system to have in redconf.c?
More information about iNode count can be found in Chapter 12 ("Product Configuration) of the Reliance Edge Developer's Guide; Here is the section on the Inode Count:
12.3.8.7 Inode Count
Where to find it: In the configuration utility, this setting is found under the Volumes tab in the spinbox labeled "Inode
count"; it is configured separately for each volume. The corresponding values in redconf.c are the fifth member of every
gaRedVolConf element (.ulInodeCount).
What it means: Every time a file or directory is created, one inode is consumed; when a file or directory is deleted,
the inode is freed and available for reuse. Also, when using the POSIX-like API, one inode is consumed by the root
directory. So the inode count dictates the maximum number of files and directories that can reside on the volume.
Guidance: The number of inodes will depend on how many files and directories will be created on the file system either
by your application or during image creation by the Image Builder. Some applications have very fixed use cases (for
example, using exactly twelve files with well-defined purposes) which makes it easy to determine this value; use cases
where the File System Essentials API is appropriate generally fall into this category. If you have a root file system, you
can set the inode count to the number of files and directories in that root file system (including the root directory) plus
the number of files and directories created at run-time. You can configure Reliance Edge with more inodes than are
actually needed; the only downside is that each inode consumes two blocks of space which cannot be used for anything
else.