* Since we're using ASSERT macros, still lock/unlock the nodes when

initializing the file system.
* This fixes bug #2580.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26865 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2008-08-07 17:37:07 +00:00
parent f93c785026
commit e6679f9d0d
@@ -1072,8 +1072,6 @@ Transaction::Start(Volume* volume, off_t refBlock)
void
Transaction::AddInode(Inode* inode)
{
if (GetVolume()->IsInitializing())
return;
if (fJournal == NULL)
panic("Transaction is not running!");
@@ -1085,7 +1083,8 @@ Transaction::AddInode(Inode* inode)
}
}
acquire_vnode(GetVolume()->FSVolume(), inode->ID());
if (!GetVolume()->IsInitializing())
acquire_vnode(GetVolume()->FSVolume(), inode->ID());
rw_lock_write_lock(&inode->fLock);
fLockedInodes.Add(inode);
}
@@ -1096,7 +1095,8 @@ Transaction::_UnlockInodes()
{
while (Inode* inode = fLockedInodes.RemoveHead()) {
rw_lock_write_unlock(&inode->fLock);
put_vnode(GetVolume()->FSVolume(), inode->ID());
if (!GetVolume()->IsInitializing())
put_vnode(GetVolume()->FSVolume(), inode->ID());
}
}