diff options
author | phk <phk@FreeBSD.org> | 2005-02-18 11:13:56 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2005-02-18 11:13:56 +0000 |
commit | 1fe081e9547b3378fe56a3029993aeec6de9339f (patch) | |
tree | 6fa0b89d87167090fea1709bd054038003fa74ee /sys/kern/vfs_subr.c | |
parent | 0724e80aff75438f2021ff025fa2b2554cac866d (diff) | |
download | FreeBSD-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.c | 4 |
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); |