| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently the following sequence causes a endless loop when extending an
IMFS file:
- Create a file with zero length and close it.
- Make sure nearly no allocatable memory is left.
- Open the file and write enough data into it that more than the
remaining memory will be used.
In that case when extending the IMFS file, the file currently need zero
blocks. If allocating enough new blocks fails, the already allocated new
blocks will be freed again.
The comparison of block>=old_blocks that has been used prior to this
patch compared two unsigned numbers. If old_blocks was zero, the
comparison of these two numbers always evaluated to true.
This patch frees the last block in a separate step to avoid this
problem.
Note: This patch is a backport of
43119193ef0f3fef6bc01a391ccda8a97cfc149c from RTEMS master. It only
contains the bugfix. Adding a test case has been skipped because that
part of the patch didn't apply without problems and is not really
relevant for fixing the bug.
Fixes #2353
|
|
|
|
|
|
|
| |
The function rtems_rfs_buffer_sync() erroneously calls
rtems_disk_release(). This screws up the reference counting of the disk.
Close #3494.
|
|
|
|
|
|
|
|
| |
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.
Close #3258.
|
|
|
|
|
|
|
| |
Take care that a file in the root directory with the same name as the
volume name can be found.
Close #3257.
|
|
|
|
|
|
| |
Do not update the non-existant meta-data of the root directory.
Close #2944.
|
|
|
|
| |
Close #2964.
|
|
|
|
|
|
| |
Set a proper name buffer length for each converter invocation.
Close #2987.
|
|
|
|
|
|
|
| |
Do not use our long file name entry count to optimize the file name
search. The Unicode comparison must be taken into account.
Close #2939.
|
|
|
|
|
|
| |
Obtain file system instance lock before member access.
Close #2937.
|
|
|
|
|
| |
The name "fat_entries" for long file name directory entries is quite
misleading.
|
|
|
|
| |
Close #2934.
|
|
|
|
| |
Simplify.
|
|
|
|
|
|
| |
Make sure that long file names work accross cluster boundaries.
Close #2929.
|
|
|
|
| |
Update #2929.
|
|
|
|
| |
Update #2929.
|
|
|
|
| |
Update #2929.
|
|
|
|
| |
Update #2929.
|
|
|
|
|
|
|
|
| |
Remove forced overwrite which leads to file data corruption. The logic
to determine a forced overwrite was fundamentally broken. For simplity,
disable this feature.
Close #2622.
|
|
|
|
|
|
|
|
| |
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.
Close #2928.
|
|
|
|
|
|
|
|
|
| |
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.
Update #2913.
|
|
|
|
| |
Update #2755.
|
|
|
|
| |
Close #2388.
|
|
|
|
|
|
| |
For a filename match the entry must match without anything remaining.
Update #2908.
|
|
|
|
|
|
|
| |
A cluster size > 32KiB resulted in an infinite loop in
fat_init_volume_info() due to an integer overflow.
Update #2717.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update #2433.
|
|
|
|
| |
closes #2384
|
| |
|
| |
|
|
|
|
|
|
|
| |
In case the zlib compression was used, then the librtemscpu.a depended
on libz.a. To avoid a GCC patch or complicated link flags move the
JFFS2 support into a separate library to use a simple "-ljffs2 -lz" to
link the executable.
|
| |
|
|
|
|
|
| |
Use a parameter for _Thread_queue_Enqueue() instead to reduce memory
usage.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This reduces the average node size and adds more flexibility.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|