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:
@@ -423,16 +423,6 @@ Volume::Mount(const char* deviceName, uint32 flags)
|
|||||||
return status;
|
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
|
// all went fine
|
||||||
opener.Keep();
|
opener.Keep();
|
||||||
return B_OK;
|
return B_OK;
|
||||||
|
|||||||
Reference in New Issue
Block a user