* 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:
@@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user