ext2: fix logic error.

* Thanks to Ingo and Jérôme for review.
* The Remove can't fail after a succesful Lookup so don't check for that
* Return B_OK on success
This commit is contained in:
Adrien Destugues 2015-01-13 22:50:14 +01:00
parent 89678b6b5a
commit e95068dfa8

View File

@ -63,13 +63,13 @@ status_t
HashRevokeManager::Insert(uint32 block, uint32 commitID)
{
RevokeElement* element = fHash->Lookup(block);
if (element != NULL) {
TRACE("HashRevokeManager::Insert(): Already has an element\n");
if (element->commitID < commitID) {
TRACE("HashRevokeManager::Insert(): Deleting previous element\n");
bool retValue = fHash->Remove(element);
if (!retValue)
return B_ERROR;
@ -92,12 +92,11 @@ HashRevokeManager::Remove(uint32 block)
if (element == NULL)
return B_ERROR; // TODO: Perhaps we should just ignore?
bool retValue = fHash->Remove(element);
if (retValue)
delete element;
fHash->Remove(element);
// Can't fail as we just did a sucessful Lookup()
return B_ERROR;
delete element;
return B_OK;
}