Revert the part of r43033 that tries to write the "be:volume_id" on mount. The
use of an attribute may cause an attribute directory access, causing a get_vnode call that leads to KDL due to the mount not yet having completed as seen in #8090. Moving the volume_ops initialization in bfs_mount earlier might make this work, but it is a hack at most, as we can't really know what state the VFS is in during a mount. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43229 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
b56b80150d
commit
f2b71a14d4
@ -423,16 +423,6 @@ Volume::Mount(const char* deviceName, uint32 flags)
|
||||
return status;
|
||||
}
|
||||
|
||||
if (!(fFlags & VOLUME_READ_ONLY)) {
|
||||
Attribute attr(fRootNode);
|
||||
if (attr.Get("be:volume_id") == B_ENTRY_NOT_FOUND) {
|
||||
Transaction transaction(this, fRootNode->BlockNumber());
|
||||
fRootNode->WriteLockInTransaction(transaction);
|
||||
CreateVolumeID(transaction);
|
||||
transaction.Done();
|
||||
}
|
||||
}
|
||||
|
||||
// all went fine
|
||||
opener.Keep();
|
||||
return B_OK;
|
||||
|
Loading…
Reference in New Issue
Block a user