forked from Imagelibrary/rtems
For PR 2163 - RFS File System - fix group search algorithm bug
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.
This commit is contained in:
committed by
Chris Johns
parent
540a63536c
commit
e60b7b1b4f
@@ -232,10 +232,24 @@ rtems_rfs_group_bitmap_alloc (rtems_rfs_file_system* fs,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* If we are still looking back and forth around the
|
||||
* group_start, then alternate the direction and
|
||||
* increment the offset on every other iteration.
|
||||
* Otherwise we are marching through the groups, so just
|
||||
* increment the offset.
|
||||
*/
|
||||
if (updown)
|
||||
{
|
||||
direction = direction > 0 ? -1 : 1;
|
||||
if ( direction == -1 )
|
||||
offset++;
|
||||
}
|
||||
else
|
||||
{
|
||||
offset++;
|
||||
}
|
||||
|
||||
offset++;
|
||||
}
|
||||
|
||||
if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))
|
||||
|
||||
Reference in New Issue
Block a user