summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_subr.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2005-02-18 11:13:56 +0000
committerphk <phk@FreeBSD.org>2005-02-18 11:13:56 +0000
commit1fe081e9547b3378fe56a3029993aeec6de9339f (patch)
tree6fa0b89d87167090fea1709bd054038003fa74ee /sys/kern/vfs_subr.c
parent0724e80aff75438f2021ff025fa2b2554cac866d (diff)
downloadFreeBSD-src-1fe081e9547b3378fe56a3029993aeec6de9339f.zip
FreeBSD-src-1fe081e9547b3378fe56a3029993aeec6de9339f.tar.gz
Make sure to drop the VI_LOCK in vgonel();
Spotted by: Taku YAMAMOTO <taku@tackymt.homeip.net>
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r--sys/kern/vfs_subr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index b0f6aeb..7c83674 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -2286,8 +2286,10 @@ vgonel(struct vnode *vp, struct thread *td)
* wait until it is done and return.
*/
ASSERT_VI_LOCKED(vp, "vgonel");
- if (vx_waitl(vp))
+ if (vx_waitl(vp)) {
+ VI_UNLOCK(vp);
return;
+ }
vx_lock(vp);
OpenPOWER on IntegriCloud