From 1e18692e122a93b77376365bb5eff71bea765c84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 26 May 2008 11:32:27 +0000 Subject: [PATCH] * get_vnode() now accepts a NULL parameter for the fsNode argument. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25660 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/fs/vfs.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/system/kernel/fs/vfs.cpp b/src/system/kernel/fs/vfs.cpp index bdd4d376fc..75b49a068e 100644 --- a/src/system/kernel/fs/vfs.cpp +++ b/src/system/kernel/fs/vfs.cpp @@ -1362,7 +1362,7 @@ acquire_advisory_lock(struct vnode *vnode, pid_t session, struct flock *flock, LockList::Iterator iterator = locking->locks.GetIterator(); while (iterator.HasNext()) { struct advisory_lock *lock = iterator.Next(); - + // TODO: locks from the same team might be joinable! if (lock->team != team && advisory_lock_intersects(lock, flock)) { // locks do overlap @@ -3192,7 +3192,7 @@ publish_vnode(fs_volume *volume, ino_t vnodeID, void *privateNode, extern "C" status_t -get_vnode(fs_volume *volume, ino_t vnodeID, void **fsNode) +get_vnode(fs_volume *volume, ino_t vnodeID, void **_fsNode) { struct vnode *vnode; @@ -3216,9 +3216,10 @@ get_vnode(fs_volume *volume, ino_t vnodeID, void **fsNode) return status; } - *fsNode = resolvedNode.private_node; - } else - *fsNode = vnode->private_node; + if (_fsNode != NULL) + *_fsNode = resolvedNode.private_node; + } else if (_fsNode != NULL) + *_fsNode = vnode->private_node; return B_OK; }