| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
| |
The __FILE__ prevents reproducible builds.
|
|
|
|
|
|
|
|
| |
Similar to the task priority option, the new CPU affinity
option is first controlled by the RPCI specific rpciodCpuset
option. If that is not set, it uses the global network task config.
If that is also not set, it falls back to not setting the affinity
at all, using all CPUs.
|
| |
|
|
|
|
|
| |
CodeSonar flagged this as a possible dereference of a NULL pointer.
This should never occur so adding _Assert().
|
|
|
|
|
| |
CodeSonar flagged the increment of this pointer as unneeded. The pointer
is not used past this point.
|
|
|
|
|
| |
CodeSonar flagged this as a case where the return value from fat_sync()
was not used. Now it is used to return pass/fail to the caller.
|
|
|
|
|
|
| |
These were flagged by CodeSonar. The assignments on variable declaration
are overridden a few lines below and the other line later with name_size
is where name_size was not used after this assignment.
|
| |
|
|
|
|
| |
It does not appear that this is possible so adding an assert.
|
|
|
|
|
|
| |
Coverity spotted that the return code from fat_set_fat_cluster()
was ignored. But it should be because we want to return the status
that caused us to hit the cleanup path.
|
|
|
|
|
| |
Coverity identified that ret_val was never set except to be initialized
to 0. Thus the code could not be executed.
|
|
|
|
| |
Include <sys/param.h> if necessary to get the MIN()/MAX() macros.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Implement ctime and mtime updates according to POSIX. The ctime is
mapped to the FAT create time and date. The mtime is mapped to the FAT
last modified time and date. For the atime use the mtime for
simplicity.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
warnings
This may actually be a problem in inttypes.h.
|
| |
|
| |
|
|
|
|
| |
Return the first error if one or more happen when deleting an inode.
|
|
|
|
|
| |
With this patch the preinstall.am files are in a set order and not
dependent on now perl implements a hash.
|
|
|
|
|
| |
It is used in combination with the inode number to uniquely identify a
file system node in the system.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is for the RFS file system. There is a bug in the
rtems_rfs_bitmap_create_search loop. It is supposed to iterate
over the range of bits in a search element ( usually 32 bits ),
so it should loop through bits 0 through 31. Instead it loops
through 0 - 32, causing some blocks not to be allocated. As in
PR 2163, this depends on the block size and number of blocks in
a file system. Block sizes and group sizes that are powers of 2
seem to work fine ( 512 byte blocks, 4096 block groups, etc ).
When the block sizes are not powers of 2, then this loop error
causes some of the blocks at the end of a group to be skipped,
preventing 100% of the blocks from being used. A simple test
for this and PR2163 is to create a RAM disk with block size
3900 and at least 1 full group ( 31200 blocks ). A file system
with these sizes will not be able to allocate 100% of the blocks.
|
|
|
|
|
|
|
|
|
| |
This is for the RFS file system. The statvfs call reports 1 block free
when the file system is full because it does not account for the superblock
in its calculation of free blocks.
This is a simple fix that adjusts the number of blocks reported to account
for the superblock. We may want to wait for a more complete solution such
as locating the superblock in each group.
|
|
|
|
|
|
|
|
|
| |
This is for the RFS file system. There is a bug in the group search
algorithm where it will skip groups, causing blocks to remain
unallocated. This is dependant on the size of the blocks and number
of blocks in a group, so it does not always show up. The fix corrects
the skipping of groups during the search, allowing all of the blocks
to be found.
|
| |
|
| |
|
|
|
|
|
| |
Return an error status with errno set to ENOSYS during node creation for
nodes not available in the current configuration.
|
|
|
|
| |
Patch from Nick for this. Thanks.
|
|
|
|
|
| |
The read call was only returning once the requested buffer was full.
The change returns any available data.
|
|
|
|
| |
The FIFO was incorrectly set to the default control block.
|
| |
|
| |
|
|
|
|
|
|
| |
This handler is necessary to implement the KQUEUE(2) system calls.
Add <sys/event.h> from FreeBSD 8.4.
|
|
|
|
|
|
|
| |
This handler is necessary to implement the SELECT(2) and POLL(2) system
calls.
Add <sys/poll.h> from FreeBSD 8.4.
|
|
|
|
| |
This is in line with Linux and FreeBSD.
|