summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/imfs (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-02-12IMFS: Split linfile and memfile modulesSebastian Huber4-165/+133
Make several functions static.
2015-02-12IMFS: Introduce IMFS_mknod_controlSebastian Huber16-76/+94
Drop IMFS_node_control::node_size field and add node_size parameter to IMFS_allocate_node() and IMFS_create_node(). This reduces the size of generic nodes.
2015-02-09Filesystem: Delete unused fsmountme_h handlerSebastian Huber3-3/+0
2015-02-04IMFS: Simplify ino generationSebastian Huber4-5/+7
The type of ino_t is unsigned long, so it can store a pointer. Avoid a potential integer overflow.
2015-02-04IMFS: Use rtems_filesystem_make_dev_t_from_pointerSebastian Huber3-29/+3
2015-01-28IMFS: Reduce IMFS node typesSebastian Huber10-48/+21
Provide only types used by IMFS_mknod().
2015-01-28IMFS: Aggregate link support in dedicated modulesSebastian Huber4-175/+150
2015-01-27IMFS: Replace node union with individual structSebastian Huber22-595/+511
This reduces the average node size. Add and use IMFS_GENERIC_INITIALIZER().
2015-01-22Filesystem: Delete node type operationSebastian Huber5-65/+5
Use the fstat handler instead.
2014-12-11Teach rtems_tarfs_load() about symlinksNick Withers1-0/+17
2014-11-26imfs/imfs_handlers_link.c: Add _Assert for NULL pointerJosh Oguin1-0/+2
CodeSonar flagged this as a possible dereference of a NULL pointer. This should never occur so adding _Assert().
2014-11-21Delete or rename MIN/MAX macros and definesSebastian Huber1-2/+1
Include <sys/param.h> if necessary to get the MIN()/MAX() macros.
2014-10-20cpukit/libfs/src/imfs/ioman.c: Fix typoJoel Sherrill1-1/+1
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns34-34/+34
2014-01-21IMFS: Improved support for generic nodesSebastian Huber2-3/+3
The rtems_filesystem_location_info_t::node_access_2 was unused by the IMFS. Use it to hold the context of generic nodes. This makes it possible to use node handlers for objects with and without a corresponding file system node. For example network sockets created with socket() have only a file descriptor, but no corresponding file system node. The UNIX(4) domain sockets can be bound to file system nodes. In both cases the rtems_filesystem_location_info_t must provide a pointer to the socket structure used by the socket node handlers. With the context pointer (for sockets, this is the socket structure) in rtems_filesystem_location_info_t::node_access_2 the same node handlers can be used in both cases.
2014-01-21IMFS: Allow sockets as generic nodesSebastian Huber1-1/+2
2013-12-20Filesystem: Use default kqfilter and poll handlerSebastian Huber5-0/+10
2013-12-20Filesystem: Add readv/writev handlersSebastian Huber5-55/+65
The readv() and writev() support was implemented in terms of multiple calls to the read and write handlers. This imposes a problem on device files which use an IO vector as single request entity. For example a low-level network device (e.g. BPF(4)) may use an IO vector to create one frame from multiple protocol layers each with its own IO vector entry.
2013-12-11PR2160: imfs: Use ENOSYS for unsupported nodesSebastian Huber4-7/+18
Return an error status with errno set to ENOSYS during node creation for nodes not available in the current configuration.
2013-12-10libfs/imfs: Set the FIFO control block.Chris Johns1-1/+1
The FIFO was incorrectly set to the default control block.
2013-10-27IMFS: Use IMFS_mtime_ctime_update()Sebastian Huber2-4/+2
2013-09-13IMFS: Fix truncate according to POSIXSebastian Huber1-3/+2
ftruncate() and open() with O_TRUNC shall upon successful completion mark for update the st_ctime and st_mtime fields of the file. truncate() shall upon successful completion, if the file size is changed, mark for update the st_ctime and st_mtime fields of the file. The POSIX standard "The Open Group Base Specifications Issue 7", IEEE Std 1003.1, 2013 Edition says nothing about the behaviour of truncate() if the file size remains unchanged. Future directions of the standard may mandate the behaviour specified in ftruncate(): http://austingroupbugs.net/view.php?id=489
2013-09-13IMFS: Use inline functions instead of macrosSebastian Huber1-28/+36
2013-09-12Filesystem: Add and use rtems_filesystem_chmod()Sebastian Huber1-19/+1
Implement POSIX requirements in the high-level file system layer.
2013-09-05imfs: use safe string functionsGedare Bloom1-3/+5
Replace strcpy and strcat with counted variants.
2013-09-05imfs: check return value from mkdirGedare Bloom1-1/+1
2013-09-05IMFS: Resource leakGedare Bloom1-0/+1
Free fs_info in case root_node is NULL.
2013-07-23Include missing <string.h>Sebastian Huber5-0/+8
2013-06-21IMFS: Fix reference count for debug enabledSebastian Huber1-3/+3
2013-03-22libfs: Always use geteuid() and getegid()Sebastian Huber1-7/+2
The two functions are independent of the POSIX API.
2013-03-18IMFS: Fix NULL pointer accessSebastian Huber1-9/+10
2013-02-27IMFS: PR2093: Fix warningSebastian Huber1-3/+2
2013-01-10cpukit: Doxygen group fixes and many warnings addressedJoel Sherrill1-52/+48
The output of the modules.html is much improved. Most filesystem and POSIX API related groups are properly nested. Some formatting issues were addressed as were multiple inconsistencies.
2013-01-09IMFS: DocumentationSebastian Huber1-23/+36
2013-01-08libfs: Doxygen Clean Up Task #1Alex Ivanov1-46/+51
http://www.google-melange.com/gci/task/view/google/gci2012/8120204 Patch committed with fixes for whitespace issues.
2012-12-21IMFS: DocumentationSebastian Huber1-4/+146
2012-12-21IMFS: Fix resource leak in IMFS_allocate_node()Sebastian Huber1-1/+7
2012-12-20libfs: Doxygen Enhancement Task #1Alex Ivanov21-172/+301
2012-12-18libfs: Doxygen Enhancement Task #2Alex Ivanov11-45/+147
http://www.google-melange.com/gci/task/view/google/gci2012/8032207
2012-10-07Filesystem: Reject removal of root nodesSebastian Huber5-16/+8
Reject the removal of file system instance root nodes in rmdir() and unlink() and return the EBUSY error status. File system instances can be removed with unmount(). Remove root node special cases in IMFS, DOSFS, and RFS.
2012-08-09IMFS: TypoSebastian Huber1-1/+1
2012-05-15Filesystem: Change pathconf_limits_and_optionsSebastian Huber1-1/+1
The pathconf_limits_and_options field of rtems_filesystem_mount_table_entry_t is now a const pointer to reduce the read-write memory demands of file system instances.
2012-05-15Filesystem: Move operations to mount table entrySebastian Huber2-2/+6
The scope of the file system operations is the file system instance. The scope of the file system node handlers is the file location. The benefit of moving the operations to the mount table entry is a size reduction of the file location (rtems_filesystem_location_info_t). The code size is slightly increased due to additional load instructions. Restructure rtems_filesystem_mount_table_entry_t to improve cache efficiency.
2012-05-15Filesystem: PR1255: Move offset update to handlersSebastian Huber1-1/+10
It is now the responsibility of the read() and write() handler to update the offset field of the IO descriptor (rtems_libio_t). This change makes it possible to protect the IO descriptor from concurrent access by per file locks.
2012-05-15Filesystem: Add shared device IO supportSebastian Huber2-186/+26
The device IO file system support in IMFS, devFS, and RFS uses now a shared implementation.
2012-05-15Filesystem: Use ioctl_command_tSebastian Huber5-32/+10
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill32-64/+0
Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
2012-05-11Filesystem: PR1893: Fix write and truncate handlerSebastian Huber1-3/+18
Space that grows due to truncate or write offsets beyond the current file size must be zero filled.
2012-05-11Filesystem: PR1871: Fix O_APPENDSebastian Huber1-3/+4
2012-05-11Filesystem: PR1398: Fix lseek() mechanicSebastian Huber7-109/+5
According to POSIX the lseek() function shall not, by itself, extend the size of a file. Remove the size field of rtems_libio_t. A file has only one size but may have multiple open file descriptors. Thus a file size field in the file descriptor may lead to inconsistencies. New default handlers rtems_filesystem_default_lseek_file() and rtems_filesystem_default_lseek_directory().