summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/vfs_subr.c5
-rw-r--r--sys/kern/vfs_vnops.c3
2 files changed, 2 insertions, 6 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 2193635..d74c12c 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -1919,7 +1919,6 @@ vget(vp, flags, td)
if (vp->v_iflag & VI_XLOCK && vp->v_vxproc != curthread) {
vp->v_iflag |= VI_XWANT;
msleep(vp, VI_MTX(vp), PINOD | PDROP, "vget", 0);
- VI_UNLOCK(vp);
return (ENOENT);
}
@@ -2412,7 +2411,6 @@ vop_revoke(ap)
vp->v_iflag |= VI_XWANT;
msleep(vp, VI_MTX(vp), PINOD | PDROP,
"vop_revokeall", 0);
- VI_UNLOCK(vp);
return (0);
}
VI_UNLOCK(vp);
@@ -2482,8 +2480,7 @@ vgonel(vp, td)
ASSERT_VI_LOCKED(vp);
if (vp->v_iflag & VI_XLOCK) {
vp->v_iflag |= VI_XWANT;
- VI_UNLOCK(vp);
- tsleep(vp, PINOD | PDROP, "vgone", 0);
+ msleep(vp, VI_MTX(vp), PINOD | PDROP, "vgone", 0);
return;
}
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c
index f4aab01..0c106be 100644
--- a/sys/kern/vfs_vnops.c
+++ b/sys/kern/vfs_vnops.c
@@ -850,8 +850,7 @@ debug_vn_lock(vp, flags, td, filename, line)
VI_LOCK(vp);
if ((vp->v_iflag & VI_XLOCK) && vp->v_vxproc != curthread) {
vp->v_iflag |= VI_XWANT;
- msleep(vp, VI_MTX(vp), PINOD | PDROP,
- "vn_lock", 0);
+ msleep(vp, VI_MTX(vp), PINOD, "vn_lock", 0);
error = ENOENT;
if ((flags & LK_RETRY) == 0) {
VI_UNLOCK(vp);
OpenPOWER on IntegriCloud