diff options
author | Chris Johns <chrisj@rtems.org> | 2010-10-11 04:34:48 +0000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2010-10-11 04:34:48 +0000 |
commit | 0a127c5591ec0b3e3c58e84702328e15809605e2 (patch) | |
tree | 0715fe1a84cbd8561d0ee2d1dadbe10dc20cdf14 /cpukit/libfs/src/rfs/rtems-rfs-block.c | |
parent | 0781705f8cfb3e5ff644c7d00bbb0b48ec8a1781 (diff) |
2010-10-11 Chris Johns <chrisj@rtems.org>
* libfs/src/rfs/rtems-rfs-trace.c,
libfs/src/rfs/rtems-rfs-trace.h: Add inode-delete.
* libfs/src/rfs/rtems-rfs-shell.c: Fix formatting.
* libfs/src/rfs/rtems-rfs-rtems-dir.c: Use ssize_t. Fix spelling.
* libfs/src/rfs/rtems-rfs-block.c: Fix rtems_rfs_block_get_bpos to
return the position correctly. A bpos does not have any special
processing. Do no reset the buffer handle when shrinking
indirectly.
* libfs/src/rfs/rtems-rfs-inode.c: Add trace.
* libfs/src/rfs/rtems-rfs-format.c: Fix comments.
* libfs/src/rfs/rtems-rfs-group.c: Limit the inodes to the blocks
in a group so the accounting works.
* libfs/src/rfs/rtems-rfs-dir.c: PR 1705. Fix handling the offsets
when deleting an entry.
* libfs/src/rfs/rtems-rfs-buffer.h: Remove
rtems_rfs_buffer_handle_reset. It is not needed and dangerous.
Diffstat (limited to 'cpukit/libfs/src/rfs/rtems-rfs-block.c')
-rw-r--r-- | cpukit/libfs/src/rfs/rtems-rfs-block.c | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/cpukit/libfs/src/rfs/rtems-rfs-block.c b/cpukit/libfs/src/rfs/rtems-rfs-block.c index 5ffadcc284..776c7f314d 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-block.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-block.c @@ -46,33 +46,25 @@ #include <rtems/rfs/rtems-rfs-inode.h> void -rtems_rfs_block_get_bpos (rtems_rfs_file_system* fs, - rtems_rfs_pos pos, - rtems_rfs_block_pos* bpos) +rtems_rfs_block_get_bpos (rtems_rfs_file_system* fs, + rtems_rfs_pos pos, + rtems_rfs_block_pos* bpos) { bpos->bno = pos / rtems_rfs_fs_block_size (fs); bpos->boff = pos % rtems_rfs_fs_block_size (fs); } rtems_rfs_pos -rtems_rfs_block_get_pos (rtems_rfs_file_system* fs, - rtems_rfs_block_pos* bpos) +rtems_rfs_block_get_pos (rtems_rfs_file_system* fs, + rtems_rfs_block_pos* bpos) { - rtems_rfs_pos pos = 0; - if (bpos->bno) - { - pos = bpos->boff; - if (pos == 0) - pos = rtems_rfs_fs_block_size (fs); - pos += (bpos->bno - 1) * rtems_rfs_fs_block_size (fs); - } - return pos; + return (bpos->bno * rtems_rfs_fs_block_size (fs)) + bpos->boff; } void -rtems_rfs_block_get_block_size (rtems_rfs_file_system* fs, - rtems_rfs_pos pos, - rtems_rfs_block_size* size) +rtems_rfs_block_get_block_size (rtems_rfs_file_system* fs, + rtems_rfs_pos pos, + rtems_rfs_block_size* size) { if (pos == 0) rtems_rfs_block_set_size_zero (size); @@ -634,8 +626,6 @@ rtems_rfs_block_map_indirect_shrink (rtems_rfs_file_system* fs, int b; for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++) map->blocks[b] = rtems_rfs_block_get_number (buffer, b); - - rtems_rfs_buffer_handle_reset (buffer); } else { |