summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/imfs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* untar: do not exit with error when created directory already exists.Pavel Pisa2015-11-231-1/+17
| | | | | | | | | | | | | | The problem exists for both RTEMS untar implementations and their variants: Untar_FromMemory(), Untar_FromFile() and rtems_tarfs_load(). If filesystem object already exists at extracted directory path then if it is directory, creation is ignored. Attempt to delete/unlink object and make directory is tried for other cases. This simple approach problem reported in ticket fixes #2413. Behavior follows GNU tar and BSD tar practice for directories but much more work is required to achieve full semantics of the full featured tar implementation still.
* imfs.h: Add cast to remove warning for pointer/integer size mismatchJoel Sherrill2015-03-241-1/+1
|
* IMFS: NUL-terminate name returned by readdir()Sebastian Huber2015-03-171-2/+5
|
* IMFS: don't strlen() an unterminated string in IMFS_dir_read().Jamie Iles2015-03-161-1/+1
| | | | | | | | | a43a3466 (IMFS: Implement variable length node names) introduced a changed to IMFS_jnode_t from being a null terminated string to a separate unterminated string and length. IMFS_dir_read() was still performing a strlen() on this unterminated string though and when doing an 'ls' in the fileio example I saw that some filenames had garbage suffixes.
* IMFS: Fix warningSebastian Huber2015-03-051-1/+1
|
* IMFS: Include missing header fileSebastian Huber2015-03-051-0/+1
|
* IMFS: Fix warningSebastian Huber2015-03-051-1/+1
|
* IMFS: Fix copy on write for linfilesSebastian Huber2015-02-201-0/+3
|
* IMFS: Silence warningSebastian Huber2015-02-181-1/+1
|
* IMFS: Implement variable length node namesSebastian Huber2015-02-155-25/+46
| | | | This reduces the average node size and adds more flexibility.
* IMFS: Add CONFIGURE_IMFS_DISABLE_READDIRSebastian Huber2015-02-146-138/+168
|
* IMFS: Add fine grained configurationSebastian Huber2015-02-126-183/+7
| | | | | | | | | | | | | | | | | | Remove miniIMFS. Statically initialize the root IMFS. Add configuration options to disable individual features of the root IMFS, e.g. o CONFIGURE_IMFS_DISABLE_CHOWN, o CONFIGURE_IMFS_DISABLE_FCHMOD, o CONFIGURE_IMFS_DISABLE_LINK, o CONFIGURE_IMFS_DISABLE_MKNOD, o CONFIGURE_IMFS_DISABLE_MOUNT, o CONFIGURE_IMFS_DISABLE_READLINK, o CONFIGURE_IMFS_DISABLE_RENAME, o CONFIGURE_IMFS_DISABLE_RMNOD, o CONFIGURE_IMFS_DISABLE_SYMLINK, o CONFIGURE_IMFS_DISABLE_UNMOUNT, and o CONFIGURE_IMFS_DISABLE_UTIME.
* IMFS: Allow static initialization of FS infoSebastian Huber2015-02-126-100/+118
|
* IMFS: Fix resource leakSebastian Huber2015-02-121-1/+9
|
* IMFS: Add root directory to FS infoSebastian Huber2015-02-124-88/+69
| | | | Fix memory leak in IMFS_fsunmount().
* IMFS: Simplify IMFS_symlink()Sebastian Huber2015-02-121-26/+7
|
* IMFS: Split linfile and memfile modulesSebastian Huber2015-02-124-165/+133
| | | | Make several functions static.
* IMFS: Introduce IMFS_mknod_controlSebastian Huber2015-02-1216-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.
* Filesystem: Delete unused fsmountme_h handlerSebastian Huber2015-02-093-3/+0
|
* IMFS: Simplify ino generationSebastian Huber2015-02-044-5/+7
| | | | | The type of ino_t is unsigned long, so it can store a pointer. Avoid a potential integer overflow.
* IMFS: Use rtems_filesystem_make_dev_t_from_pointerSebastian Huber2015-02-043-29/+3
|
* IMFS: Reduce IMFS node typesSebastian Huber2015-01-2810-48/+21
| | | | Provide only types used by IMFS_mknod().
* IMFS: Aggregate link support in dedicated modulesSebastian Huber2015-01-284-175/+150
|
* IMFS: Replace node union with individual structSebastian Huber2015-01-2722-595/+511
| | | | | | This reduces the average node size. Add and use IMFS_GENERIC_INITIALIZER().
* Filesystem: Delete node type operationSebastian Huber2015-01-225-65/+5
| | | | Use the fstat handler instead.
* Teach rtems_tarfs_load() about symlinksNick Withers2014-12-111-0/+17
|
* imfs/imfs_handlers_link.c: Add _Assert for NULL pointerJosh Oguin2014-11-261-0/+2
| | | | | CodeSonar flagged this as a possible dereference of a NULL pointer. This should never occur so adding _Assert().
* Delete or rename MIN/MAX macros and definesSebastian Huber2014-11-211-2/+1
| | | | Include <sys/param.h> if necessary to get the MIN()/MAX() macros.
* cpukit/libfs/src/imfs/ioman.c: Fix typoJoel Sherrill2014-10-201-1/+1
|
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-2134-34/+34
|
* IMFS: Improved support for generic nodesSebastian Huber2014-01-212-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.
* IMFS: Allow sockets as generic nodesSebastian Huber2014-01-211-1/+2
|
* Filesystem: Use default kqfilter and poll handlerSebastian Huber2013-12-205-0/+10
|
* Filesystem: Add readv/writev handlersSebastian Huber2013-12-205-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.
* PR2160: imfs: Use ENOSYS for unsupported nodesSebastian Huber2013-12-114-7/+18
| | | | | Return an error status with errno set to ENOSYS during node creation for nodes not available in the current configuration.
* libfs/imfs: Set the FIFO control block.Chris Johns2013-12-101-1/+1
| | | | The FIFO was incorrectly set to the default control block.
* IMFS: Use IMFS_mtime_ctime_update()Sebastian Huber2013-10-272-4/+2
|
* IMFS: Fix truncate according to POSIXSebastian Huber2013-09-131-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
* IMFS: Use inline functions instead of macrosSebastian Huber2013-09-131-28/+36
|
* Filesystem: Add and use rtems_filesystem_chmod()Sebastian Huber2013-09-121-19/+1
| | | | Implement POSIX requirements in the high-level file system layer.
* imfs: use safe string functionsGedare Bloom2013-09-051-3/+5
| | | | Replace strcpy and strcat with counted variants.
* imfs: check return value from mkdirGedare Bloom2013-09-051-1/+1
|
* IMFS: Resource leakGedare Bloom2013-09-051-0/+1
| | | | Free fs_info in case root_node is NULL.
* Include missing <string.h>Sebastian Huber2013-07-235-0/+8
|
* IMFS: Fix reference count for debug enabledSebastian Huber2013-06-211-3/+3
|
* libfs: Always use geteuid() and getegid()Sebastian Huber2013-03-221-7/+2
| | | | The two functions are independent of the POSIX API.
* IMFS: Fix NULL pointer accessSebastian Huber2013-03-181-9/+10
|
* IMFS: PR2093: Fix warningSebastian Huber2013-02-271-3/+2
|
* cpukit: Doxygen group fixes and many warnings addressedJoel Sherrill2013-01-101-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.
* IMFS: DocumentationSebastian Huber2013-01-091-23/+36
|