* Fixed the wrong check for the largest block: it was always checked, no matter

if the largest block was marked invalid or not. Thanks for testing, luroh :-)
* Fixed warning.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28113 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2008-10-14 22:42:49 +00:00
parent c709ef9805
commit 4986b5c767

View File

@ -818,7 +818,7 @@ BlockAllocator::AllocateBlocks(Transaction& transaction, int32 group,
start = 0;
}
if (current == fGroups[group].NumBits()) {
if (current == (int32)fGroups[group].NumBits()) {
if (range > bestLength) {
bestGroup = group;
bestStart = rangeStart;
@ -1075,7 +1075,7 @@ BlockAllocator::_CheckGroup(int32 groupIndex) const
dprintf("group %d first free too late\n",
(int)groupIndex);
}
if (largestStart != group.fLargestStart
if (group.fLargestValid && largestStart != group.fLargestStart
|| largestLength != group.fLargestLength) {
panic("bfs %p: group %d largest differs: %d.%d, checked %d.%d.\n",
fVolume, (int)groupIndex, (int)group.fLargestStart,