summaryrefslogtreecommitdiff
path: root/cpukit/libfs/src/imfs (follow)
AgeCommit message (Collapse)Author
2020-03-09imfs: Simplify code generationSebastian Huber
Update #3894.
2020-03-09imfs: Remove unused handlersSebastian Huber
Update #3894.
2020-03-09imfs: Constify imfs_memfile_bytes_per_blockSebastian Huber
The CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK value is validated by <rtems/confdefs/libio.h>. Changing this value during runtime could lead to memory corruption. Update #3894.
2020-03-09imfs: Use _IMFS_get_time()Sebastian Huber
Update #3894.
2020-03-04imfs: Add IMFS_add_node()Sebastian Huber
Update #3894.
2020-03-04imfs: Simplify IMFS_create_node()Sebastian Huber
Update #3894.
2020-03-04imfs: Remove IMFS_NODE_FLAG_NAME_ALLOCATEDSebastian Huber
Remove IMFS_NODE_FLAG_NAME_ALLOCATED and instead replace the node control in rename operations. This avoids a special case in the general node destruction which pulled in free(). Update #3894.
2019-11-25untar: Unify untar supportSebastian Huber
Update #3823.
2019-11-21imfs: Fix IMFS_make_linearfile()Sebastian Huber
Fix prototype. Fix node size. Linfiles are dynamically turned into memfiles. Update #3823.
2019-11-19imfs: Add IMFS_make_linfile()Sebastian Huber
Update #3818.
2019-02-05fs: Add struct dirent::d_type supportSebastian Huber
2018-01-25Remove make preinstallChris Johns
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
2017-12-13IMFS: Include <rtems/imfs.h>Sebastian Huber
Prepare for header file move to common include directory. Update #3254.
2017-09-15libio: Add rtems_libio_iop_is_append()Sebastian Huber
Update #3132.
2017-09-15libio: Add rtems_libio_iop_is_writeable()Sebastian Huber
Update #3132.
2017-09-15libio: Add iop set/clear flagsSebastian Huber
Update #3132.
2017-08-25Include missing <string.h>Sebastian Huber
Update #2133.
2017-07-14posix/mmap: Add support for file handler and MAP_ANONKevin Kirspel
Added a mmap file handler to struct _rtems_filesystem_file_handlers_r. Updated each file handler object to support the default mmap handler. Updated mmap() to call the mmap handler for MAP_SHARED. Added a mmap file handler for shm Added support for MAP_ANON in mmap(). Updates #2859
2017-06-07Do not include <sys/ioctl.h> in kernel-spaceSebastian Huber
Update #2833.
2016-09-19imfs: Untangle dependenciesSebastian Huber
This helps to use IMFS_make_generic_node() without pulling in the complete IMFS implementation.
2016-09-16imfs: Fix IMFS_stat_file()Sebastian Huber
Use the adjusted and not the requested memfile bytes per block. Untangle dependencies.
2016-01-05Filesystem: Remove superfluous permission checksSebastian Huber
The permission is check by the upper layer.
2015-11-23untar: do not exit with error when created directory already exists.Pavel Pisa
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.
2015-03-24imfs.h: Add cast to remove warning for pointer/integer size mismatchJoel Sherrill
2015-03-17IMFS: NUL-terminate name returned by readdir()Sebastian Huber
2015-03-16IMFS: don't strlen() an unterminated string in IMFS_dir_read().Jamie Iles
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.
2015-03-05IMFS: Fix warningSebastian Huber
2015-03-05IMFS: Include missing header fileSebastian Huber
2015-03-05IMFS: Fix warningSebastian Huber
2015-02-20IMFS: Fix copy on write for linfilesSebastian Huber
2015-02-18IMFS: Silence warningSebastian Huber
2015-02-15IMFS: Implement variable length node namesSebastian Huber
This reduces the average node size and adds more flexibility.
2015-02-14IMFS: Add CONFIGURE_IMFS_DISABLE_READDIRSebastian Huber
2015-02-12IMFS: Add fine grained configurationSebastian Huber
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.
2015-02-12IMFS: Allow static initialization of FS infoSebastian Huber
2015-02-12IMFS: Fix resource leakSebastian Huber
2015-02-12IMFS: Add root directory to FS infoSebastian Huber
Fix memory leak in IMFS_fsunmount().
2015-02-12IMFS: Simplify IMFS_symlink()Sebastian Huber
2015-02-12IMFS: Split linfile and memfile modulesSebastian Huber
Make several functions static.
2015-02-12IMFS: Introduce IMFS_mknod_controlSebastian Huber
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 Huber
2015-02-04IMFS: Simplify ino generationSebastian Huber
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 Huber
2015-01-28IMFS: Reduce IMFS node typesSebastian Huber
Provide only types used by IMFS_mknod().
2015-01-28IMFS: Aggregate link support in dedicated modulesSebastian Huber
2015-01-27IMFS: Replace node union with individual structSebastian Huber
This reduces the average node size. Add and use IMFS_GENERIC_INITIALIZER().
2015-01-22Filesystem: Delete node type operationSebastian Huber
Use the fstat handler instead.
2014-12-11Teach rtems_tarfs_load() about symlinksNick Withers
2014-11-26imfs/imfs_handlers_link.c: Add _Assert for NULL pointerJosh Oguin
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 Huber
Include <sys/param.h> if necessary to get the MIN()/MAX() macros.