rem: *_fsNode = vnode->private_node;
add: restart: struct vnode *vnode = lookup_vnode(mountID, vnodeID); if (vnode && vnode->busy) {   mutex_unlock(&sVnodeMutex); snooze(10000); mutex_lock(&sVnodeMutex); goto restart; }  PRINT(("get_vnode: tried to lookup vnode, got %p\n", vnode));  status_t status;  if (vnode) { inc_vnode_ref_count(vnode); } else {  status = create_new_vnode(&vnode, mountID, vnodeID); if (status < B_OK) goto err;  vnode->busy = true; mutex_unlock(&sVnodeMutex);  status = FS_CALL(vnode, get_vnode)(vnode->mount->cookie, vnodeID, &vnode->private_node, reenter); if (status < B_OK || vnode->private_node == NULL) { remove_vnode_from_mount_list(vnode, vnode->mount); if (status == B_NO_ERROR) status = B_BAD_VALUE; } mutex_lock(&sVnodeMutex);  if (status < B_OK) goto err1;  vnode->busy = false; }  mutex_unlock(&sVnodeMutex);  PRINT(("get_vnode: returning %p\n", vnode));  *_vnode = vnode;
context: get_vnode(mount_id mountID, vnode_id vnodeID, fs_vnode *_fsNode){	struct vnode *vnode;	int status = get_vnode(mountID, vnodeID, &vnode, true);	if (status < 0)		return status;	*_fsNode = vnode->private_node;	return B_OK;}