| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Update #3375.
|
|
|
|
|
|
| |
Avoid use of RTEMS_RELLDFLAGS.
Close #3390.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
A "make dist" is not supported. So, it makes no sense to have pure "make
dist" related stuff in the Makefile.am.
|
|
|
|
| |
Update #2843.
|
|
|
|
| |
Update #2843.
|
|
|
|
| |
Update #2843.
|
|
|
|
| |
Update #2843.
|
|
|
|
| |
Update #2843.
|
|
|
|
| |
Update #2843.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update #3082.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Prepare for header file move to common include directory.
Update #3254.
|
|
|
|
|
|
| |
Prepare for header file move to common include directory.
Update #3254.
|
|
|
|
|
|
| |
Prepare for header file move to common include directory.
Update #3254.
|
|
|
|
|
|
| |
Prepare for header file move to common include directory.
Update #3254.
|
|
|
|
|
|
| |
Prepare for header file move to common include directory.
Update #3254.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Take care that a file in the root directory with the same name as the
volume name can be found.
Update #3257.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update #3132.
|
|
|
|
| |
Update #3132.
|
|
|
|
| |
Update #3132.
|
|
|
|
| |
Update #3132.
|
|
|
|
| |
Update #3132.
|
|
|
|
|
|
| |
Do not update the non-existant meta-data of the root directory.
Update #2944.
|
|
|
|
| |
Update #2964.
|
|
|
|
|
|
| |
Set a proper name buffer length for each converter invocation.
Update #2987.
|
|
|
|
| |
Close #3003.
|
|
|
|
| |
Update #2133.
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Some kernel-space header expect that <sys/param.h> is present.
Update #2833.
|
|
|
|
| |
Update #2833.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Obtain file system instance lock before member access.
Update #2937.
|
|
|
|
|
| |
The name "fat_entries" for long file name directory entries is quite
misleading.
|
|
|
|
| |
Update #2934.
|
|
|
|
| |
Simplify.
|
|
|
|
|
|
| |
Make sure that long file names work accross cluster boundaries.
Update #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.
Update #2622.
|