aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorRick Macklem <rmacklem@FreeBSD.org>2009-07-12 17:02:17 +0000
committerRick Macklem <rmacklem@FreeBSD.org>2009-07-12 17:02:17 +0000
commitad86aef9afd6eca6450a6ac32dd4ff8591c0032e (patch)
treeeb0edd86610b3d310a9b773a2168681359479f92 /sys
parentc5e2d1885c2c61105ecf3c575cd7fa36ebecabec (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/fs/nfsclient/nfs_clvnops.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c
index f69be4d22137..bf6ec85a8ff8 100644
--- a/sys/fs/nfsclient/nfs_clvnops.c
+++ b/sys/fs/nfsclient/nfs_clvnops.c
@@ -1111,9 +1111,11 @@ nfs_lookup(struct vop_lookup_args *ap)
ltype = VOP_ISLOCKED(dvp);
error = vfs_busy(mp, MBF_NOWAIT);
if (error != 0) {
+ vfs_ref(mp);
VOP_UNLOCK(dvp, 0);
error = vfs_busy(mp, 0);
vn_lock(dvp, ltype | LK_RETRY);
+ vfs_rel(mp);
if (error == 0 && (dvp->v_iflag & VI_DOOMED)) {
vfs_unbusy(mp);
error = ENOENT;