* Remove the entry from the entry cache as well when removing a bad inode.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42057 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2011-06-08 18:29:01 +00:00
parent 2efeb0d6d2
commit 5cb190eda2
@@ -1575,10 +1575,10 @@ status_t
BlockAllocator::_RemoveInvalidNode(Inode* parent, BPlusTree* tree, Inode* inode, BlockAllocator::_RemoveInvalidNode(Inode* parent, BPlusTree* tree, Inode* inode,
const char* name) const char* name)
{ {
// it's safe to start a transaction, because Inode::Remove() // It's safe to start a transaction, because Inode::Remove()
// won't touch the block bitmap (which we hold the lock for) // won't touch the block bitmap (which we hold the lock for)
// if we set the INODE_DONT_FREE_SPACE flag - since we fix // if we set the INODE_DONT_FREE_SPACE flag - since we fix
// the bitmap anyway // the bitmap anyway.
Transaction transaction(fVolume, parent->BlockNumber()); Transaction transaction(fVolume, parent->BlockNumber());
status_t status; status_t status;
@@ -1596,8 +1596,10 @@ BlockAllocator::_RemoveInvalidNode(Inode* parent, BPlusTree* tree, Inode* inode,
status = tree->Remove(transaction, name, id); status = tree->Remove(transaction, name, id);
} }
if (status == B_OK) if (status == B_OK) {
entry_cache_remove(fVolume->ID(), parent->ID(), name);
transaction.Done(); transaction.Done();
}
return status; return status;
} }