Use vfs_lookup_vnode() instead of vfs_get_vnode() when creating a file
cache, so we don't run into a "vnode ... is not becoming unbusy" problem. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20879 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1729,7 +1729,7 @@ fssh_file_cache_create(fssh_mount_id mountID, fssh_vnode_id vnodeID,
|
|||||||
ref->virtual_size = size;
|
ref->virtual_size = size;
|
||||||
|
|
||||||
// get vnode
|
// get vnode
|
||||||
fssh_status_t error = vfs_get_vnode(mountID, vnodeID, &ref->node);
|
fssh_status_t error = vfs_lookup_vnode(mountID, vnodeID, &ref->node);
|
||||||
if (error != FSSH_B_OK) {
|
if (error != FSSH_B_OK) {
|
||||||
fssh_dprintf("file_cache_create(): Failed get vnode %d:%lld: %s\n",
|
fssh_dprintf("file_cache_create(): Failed get vnode %d:%lld: %s\n",
|
||||||
mountID, vnodeID, fssh_strerror(error));
|
mountID, vnodeID, fssh_strerror(error));
|
||||||
@@ -1772,8 +1772,6 @@ fssh_file_cache_delete(void *_cacheRef)
|
|||||||
|
|
||||||
mutex_destroy(&ref->lock);
|
mutex_destroy(&ref->lock);
|
||||||
|
|
||||||
vfs_put_vnode(ref->node);
|
|
||||||
|
|
||||||
delete ref;
|
delete ref;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user