summaryrefslogtreecommitdiffstats
path: root/sys/cddl
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2007-05-02 00:39:52 +0000
committerpjd <pjd@FreeBSD.org>2007-05-02 00:39:52 +0000
commitc228d77c51a9260219543e18fc090604b681e325 (patch)
tree4527fc7474c97f6975e593d6ebc98592ea17cb9a /sys/cddl
parentfa150c55a86f72ad68f53e40190228793e1a973f (diff)
downloadFreeBSD-src-c228d77c51a9260219543e18fc090604b681e325.zip
FreeBSD-src-c228d77c51a9260219543e18fc090604b681e325.tar.gz
Lock vnode using cn_lkflags in case the caller wants the vnode to be
shared-locked.
Diffstat (limited to 'sys/cddl')
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
index 9660d4e..95a1da7 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
@@ -1111,7 +1111,7 @@ zfs_lookup(vnode_t *dvp, char *nm, vnode_t **vpp, struct componentname *cnp,
if (error == 0 && (nm[0] != '.' || nm[1] != '\0')) {
if (cnp->cn_flags & ISDOTDOT)
VOP_UNLOCK(dvp, 0, td);
- error = vn_lock(*vpp, LK_EXCLUSIVE, td);
+ error = vn_lock(*vpp, cnp->cn_lkflags, td);
if (cnp->cn_flags & ISDOTDOT)
vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, td);
if (error != 0) {
OpenPOWER on IntegriCloud