diff options
author | pjd <pjd@FreeBSD.org> | 2007-05-02 00:39:52 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2007-05-02 00:39:52 +0000 |
commit | c228d77c51a9260219543e18fc090604b681e325 (patch) | |
tree | 4527fc7474c97f6975e593d6ebc98592ea17cb9a /sys/cddl | |
parent | fa150c55a86f72ad68f53e40190228793e1a973f (diff) | |
download | FreeBSD-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.c | 2 |
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) { |