Fixed another bug I introduced with r43837.
* Really the same thing, just for fragment nodes this time.
This commit is contained in:
@@ -1795,7 +1795,7 @@ BPlusTree::_RemoveDuplicate(Transaction& transaction,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// remove the array from the fragment node if it is empty
|
// remove the array from the fragment node if it is empty
|
||||||
if (arrayCount == 1) {
|
if (--arrayCount == 1) {
|
||||||
// set the link to the remaining value
|
// set the link to the remaining value
|
||||||
if (cached.MakeWritable(transaction) == NULL)
|
if (cached.MakeWritable(transaction) == NULL)
|
||||||
return B_IO_ERROR;
|
return B_IO_ERROR;
|
||||||
@@ -2331,9 +2331,11 @@ BPlusTree::_ValidateChildren(TreeCheck& check, uint32 level, off_t offset,
|
|||||||
&& check.VisitedFragment(duplicateOffset);
|
&& check.VisitedFragment(duplicateOffset);
|
||||||
|
|
||||||
if (!isKnownFragment && check.Visited(duplicateOffset)) {
|
if (!isKnownFragment && check.Visited(duplicateOffset)) {
|
||||||
dprintf("inode %" B_PRIdOFF ": duplicate node at %"
|
dprintf("inode %" B_PRIdOFF ": %s node at %"
|
||||||
B_PRIdOFF " already visited!\n", fStream->ID(),
|
B_PRIdOFF " already visited, referenced from %"
|
||||||
duplicateOffset);
|
B_PRIdOFF "!\n", fStream->ID(),
|
||||||
|
isFragmentNode ? "fragment" : "duplicate",
|
||||||
|
duplicateOffset, offset);
|
||||||
check.FoundError();
|
check.FoundError();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user