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:
Michael Lotz 2011-11-09 22:08:44 +00:00
parent b56b80150d
commit f2b71a14d4

View File

@ -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;