* 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 void
Transaction::AddInode(Inode* inode) Transaction::AddInode(Inode* inode)
{ {
if (GetVolume()->IsInitializing())
return;
if (fJournal == NULL) if (fJournal == NULL)
panic("Transaction is not running!"); 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); rw_lock_write_lock(&inode->fLock);
fLockedInodes.Add(inode); fLockedInodes.Add(inode);
} }
@@ -1096,7 +1095,8 @@ Transaction::_UnlockInodes()
{ {
while (Inode* inode = fLockedInodes.RemoveHead()) { while (Inode* inode = fLockedInodes.RemoveHead()) {
rw_lock_write_unlock(&inode->fLock); rw_lock_write_unlock(&inode->fLock);
put_vnode(GetVolume()->FSVolume(), inode->ID()); if (!GetVolume()->IsInitializing())
put_vnode(GetVolume()->FSVolume(), inode->ID());
} }
} }