summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Kabaev <kan@FreeBSD.org>2004-03-06 04:09:54 +0000
committerAlexander Kabaev <kan@FreeBSD.org>2004-03-06 04:09:54 +0000
commitff85a3f0e1766bdcb2360251cfbdc09b92bbccb1 (patch)
tree3ca2852989620ee355da214c11469120256e28e1
parentd7f29ce72bf4c0b934d0618be0bc53756cb7ce2a (diff)
Notes
-rw-r--r--sys/kern/vfs_subr.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 616791d0a5df..0a6f4f979a56 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -614,8 +614,8 @@ vtryrecycle(struct vnode *vp)
* Don't recycle if its filesystem is being suspended.
*/
if (vn_start_write(vp, &vnmp, V_NOWAIT) != 0) {
- error = EBUSY;
- goto done;
+ VOP_UNLOCK(vp, 0, td);
+ return (EBUSY);
}
/*
@@ -687,6 +687,7 @@ vtryrecycle(struct vnode *vp)
return (0);
done:
VOP_UNLOCK(vp, 0, td);
+ vn_finished_write(vnmp);
return (error);
}