summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_subr.c
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2002-08-23 00:32:03 +0000
committerjeff <jeff@FreeBSD.org>2002-08-23 00:32:03 +0000
commitda601a39acf6f61f64f7bc6f86c7e7a2493eefd9 (patch)
treef91c7e89a6e0ac1a5598b799b1b68e0ed7c343a4 /sys/kern/vfs_subr.c
parent47cda62462fcc3dca6ad6c7d47ca3613d89ee122 (diff)
downloadFreeBSD-src-da601a39acf6f61f64f7bc6f86c7e7a2493eefd9.zip
FreeBSD-src-da601a39acf6f61f64f7bc6f86c7e7a2493eefd9.tar.gz
- Fix a mistake in my last few commits. The PDROP flag stops msleep from
re-acquiring the mutex. Pointy hat to: me Noticed by: tegge
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r--sys/kern/vfs_subr.c5
1 files changed, 1 insertions, 4 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;
}
OpenPOWER on IntegriCloud