From 9481e62bdbacde8797ed4ab1f1208fc7ba786a7c Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Fri, 2 Mar 2007 00:34:20 +0000 Subject: [PATCH] is_vnode_removed() is now known as get_vnode_removed() and returns its answer through a reference parameter. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20297 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/os/drivers/fs_interface.h | 3 ++- src/system/kernel/fs/vfs.cpp | 13 ++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/headers/os/drivers/fs_interface.h b/headers/os/drivers/fs_interface.h index 160badcefd..31e816f7fe 100644 --- a/headers/os/drivers/fs_interface.h +++ b/headers/os/drivers/fs_interface.h @@ -266,7 +266,8 @@ extern status_t put_vnode(mount_id mountID, vnode_id vnodeID); extern status_t remove_vnode(mount_id mountID, vnode_id vnodeID); extern status_t unremove_vnode(mount_id mountID, vnode_id vnodeID); extern status_t unremove_vnode(mount_id mountID, vnode_id vnodeID); -extern status_t is_vnode_removed(mount_id mountID, vnode_id vnodeID); +extern status_t get_vnode_removed(mount_id mountID, vnode_id vnodeID, + bool* removed); extern status_t notify_listener(int op, mount_id device, vnode_id parentNode, vnode_id toParentNode, vnode_id node, const char *name); diff --git a/src/system/kernel/fs/vfs.cpp b/src/system/kernel/fs/vfs.cpp index b9f00850fd..d91b121f09 100644 --- a/src/system/kernel/fs/vfs.cpp +++ b/src/system/kernel/fs/vfs.cpp @@ -2632,18 +2632,17 @@ unremove_vnode(mount_id mountID, vnode_id vnodeID) extern "C" status_t -is_vnode_removed(mount_id mountID, vnode_id vnodeID) +get_vnode_removed(mount_id mountID, vnode_id vnodeID, bool* removed) { - struct vnode *vnode; - mutex_lock(&sVnodeMutex); status_t result; - vnode = lookup_vnode(mountID, vnodeID); - if (vnode) - result = vnode->remove ? 1 : 0; - else + if (struct vnode* vnode = lookup_vnode(mountID, vnodeID)) { + if (removed) + *removed = vnode->remove; + result = B_OK; + } else result = B_BAD_VALUE; mutex_unlock(&sVnodeMutex);