summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* jffs2: Do not use command line definesSebastian Huber2018-04-3020-0/+40
| | | | Update #3375.
* NFS: Remove support for cexpSebastian Huber2018-04-127-912/+9
| | | | | | Avoid use of RTEMS_RELLDFLAGS. Close #3390.
* Fill in the correct d_off in rtems_rfs_dir_read.Fan Deng2018-04-111-1/+1
| | | | | | | | | | | | | | | | | | rtems_rfs_dir_read searches the directory inode's entries list starting at the specified offset until an empty entry (last entry) is encountered. It fills in a struct dirent with the name of the entry, length of the name, ino of the entry, and the absolute offset of the entry in the parent directory's entries list. Unfortunately, the stock implementation of rtems_rfs_dir_read returns a somewhat arbitrary offset (as dirent::d_off), while rtems_rfs_dir_lookup_ino always returns the correct offset. This change fixes that logic so the returned offset is accurate. Tested by comparing the offset returned in dirent with the result of rtems_rfs_dir_lookup_ino.
* Fixes bitmap allocation accounting logic in rtems-rfs-bitmaps.cFan Deng2018-04-111-18/+47
| | | | | | | | | | | | | | | | | | | | The bitmap allocation accounting logic in rtems-rfs-bitmaps.c is flawed around control->free. Specifically: In rtems_rfs_bitmap_map_set(): control->free is only decremented when its corresponding search bit is toggled. This is wrong and will miss on average 31/32 set updates. In rtems_rfs_bitmap_map_clear(): control->free is incremented unconditionally. The correct behavior is: When updating the map, check if the bit is already set/clear. Only update control->free when the bit is toggled. This change enforced the correct behavior. Tested by inspecting the internal data structure.
* Reset free count properly in rtems_rfs_bitmap_map_clear_all().Fan Deng2018-04-111-1/+1
| | | | | | | | In rtems_rfs_bitmap_map_clear_all(), control->free is set to 'elements', which is the number of elements in the bitmap. This is incorrect, as control->free should contain the number of free bits, not elements. This change fixes the logic and resets control->free to a correct value.
* Make bit addressing consistent in rtems_rfs_group.cFan Deng2018-04-111-1/+12
| | | | | | | | | | | | | This change fixes https://devel.rtems.org/ticket/3089. Briefly, rtems_rfs_group.c contains conflicting conversions between block numbers and group number and bit offset pairs. This caused the actual bit stored on the bitmask to be one bit displaced from its intended location. For more details, please see the associated ticket. Tested by inspecting the written bitmasks with and without this change.
* NFS: Fix use of self-contained objectsSebastian Huber2018-02-071-5/+4
| | | | Update #2843.
* NFS: Use self-contained recursive mutexSebastian Huber2018-02-022-125/+41
| | | | Update #2843.
* pipe: Use self-contained mutexSebastian Huber2018-02-021-87/+19
| | | | Update #2843.
* RFS: Use self-contained recursive mutexSebastian Huber2018-02-021-29/+2
| | | | Update #2843.
* dosfs: Use self-contained recursive mutexSebastian Huber2018-02-028-103/+43
| | | | Update #2843.
* JFFS2: Use self-contained recursive mutexSebastian Huber2018-02-022-32/+15
| | | | Update #2843.
* Remove make preinstallChris Johns2018-01-2526-6503/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* rfs: Fix format warningSebastian Huber2018-01-231-1/+1
| | | | Update #3082.
* rfs: Fix for 64-bit targetsSebastian Huber2018-01-222-2/+2
| | | | | | | The RTEMS_BLKIO_SETBLKSIZE IO control expects an uint32_t parameter and not a size_t which is 64-bits on 64-bit targets. Update #3082.
* RFS: Include <rtems/rtems-rfs-shell.h>Sebastian Huber2017-12-131-1/+1
| | | | | | Prepare for header file move to common include directory. Update #3254.
* pipe: Include <rtems/pipe.h>Sebastian Huber2017-12-131-2/+1
| | | | | | Prepare for header file move to common include directory. Update #3254.
* dosfs: Include <rtems/dosfs.h>Sebastian Huber2017-12-132-2/+2
| | | | | | Prepare for header file move to common include directory. Update #3254.
* devfs: Include <rtems/devfs.h>Sebastian Huber2017-12-1310-10/+10
| | | | | | Prepare for header file move to common include directory. Update #3254.
* IMFS: Include <rtems/imfs.h>Sebastian Huber2017-12-1329-29/+29
| | | | | | Prepare for header file move to common include directory. Update #3254.
* dosfs: Allow creating a file with similar name.Christian Mauderer2017-12-071-3/+7
| | | | | | | | If there is already a file with a long file name it isn't possible to create a second file which has a name that ends on the first files name (for example ets.beam and sets.beam). This patch fixes that. Update #3258.
* dosfs: Fix files with same name as volume name.Christian Mauderer2017-12-051-1/+2
| | | | | | | Take care that a file in the root directory with the same name as the volume name can be found. Update #3257.
* score: Simplify red-black tree debug supportSebastian Huber2017-09-271-3/+0
| | | | | | | | Make the RBTree_Node layout independent of RTEMS_DEBUG (and all other build configuration options). This allows the use of this structure in Newlib. Update #3112.
* libio: Add rtems_libio_iop_is_append()Sebastian Huber2017-09-155-7/+7
| | | | Update #3132.
* libio: Add rtems_libio_iop_is_writeable()Sebastian Huber2017-09-151-1/+1
| | | | Update #3132.
* libio: Add rtems_libio_iop_is_no_delay()Sebastian Huber2017-09-151-1/+1
| | | | Update #3132.
* libio: Add rtems_libio_iop_flags()Sebastian Huber2017-09-151-1/+1
| | | | Update #3132.
* libio: Add iop set/clear flagsSebastian Huber2017-09-153-4/+4
| | | | Update #3132.
* dosfs: Fix fat_file_update()Sebastian Huber2017-09-061-5/+3
| | | | | | Do not update the non-existant meta-data of the root directory. Update #2944.
* dosfs: Fix find name next entry preparationSebastian Huber2017-09-061-25/+50
| | | | Update #2964.
* dosfs: Fix msdos_dir_read()Sebastian Huber2017-09-061-27/+28
| | | | | | Set a proper name buffer length for each converter invocation. Update #2987.
* dosfs: Support a cluster size of 64KiBSebastian Huber2017-09-063-12/+10
| | | | Close #3003.
* Include missing <string.h>Sebastian Huber2017-08-251-0/+2
| | | | Update #2133.
* posix/mmap: Add support for file handler and MAP_ANONKevin Kirspel2017-07-1419-0/+62
| | | | | | | | | | | 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
* Include missing <sys/param.h>Sebastian Huber2017-06-071-0/+1
| | | | | | Some kernel-space header expect that <sys/param.h> is present. Update #2833.
* Do not include <sys/ioctl.h> in kernel-spaceSebastian Huber2017-06-072-0/+3
| | | | Update #2833.
* rtems/inttypes.h: New file. Uses contents from cpukitJoel Sherrill2017-04-184-40/+5
| | | | | | | | Provide extentions to <inttpes.h> PRIxxx constants for more POSIX types. Start with existing definitions found in RTEMS Project owned code in cpukit/. updates #2983.
* dosfs: Fix file name searchSebastian Huber2017-03-161-17/+7
| | | | | | | Do not use our long file name entry count to optimize the file name search. The Unicode comparison must be taken into account. Update #2939.
* dosfs: Fix race condition msdos_dir_read()Sebastian Huber2017-03-161-5/+5
| | | | | | Obtain file system instance lock before member access. Update #2937.
* dosfs: Rename fat_entries to lfn_entriesSebastian Huber2017-03-161-20/+20
| | | | | The name "fat_entries" for long file name directory entries is quite misleading.
* dosfs: Fix long file name paddingSebastian Huber2017-03-161-3/+3
| | | | Update #2934.
* dosfs: msdos_filename_utf8_to_short_name_for_saveSebastian Huber2017-03-161-15/+10
| | | | Simplify.
* dosfs: Fix msdos_add_file()Sebastian Huber2017-03-161-245/+155
| | | | | | Make sure that long file names work accross cluster boundaries. Update #2929.
* dosfs: Simplify msdos_add_file()Sebastian Huber2017-03-161-4/+2
| | | | Update #2929.
* dosfs: Add and use msdos_lfn_checksum()Sebastian Huber2017-03-163-22/+25
| | | | Update #2929.
* dosfs: Simplify fat_file_open()Sebastian Huber2017-03-161-3/+1
| | | | Update #2929.
* dosfs: Simplify msdos_creat_node()Sebastian Huber2017-03-161-21/+14
| | | | Update #2929.
* dosfs: Fix fat_file_write()Sebastian Huber2017-03-163-30/+11
| | | | | | | | Remove forced overwrite which leads to file data corruption. The logic to determine a forced overwrite was fundamentally broken. For simplity, disable this feature. Update #2622.
* dosfs: Fix msdos_utf8_normalize_and_fold()Sebastian Huber2017-03-161-2/+2
| | | | | | | | It is all right in case the result uses the full destination buffer. Without this fix the handling of a maximum 8.3 short file name is broken. Update #2928.
* dosfs: Fix FAT32 formatterSebastian Huber2017-02-281-2/+2
| | | | | | | | | The second FAT entry contains a bit to indicate if the FAT32 filesystem is not dirty and a bit to indicate if there was no IO error. Set both bits for a fresh filesystem. This prevents a warning if mounted on Windows. Close #2913.