summaryrefslogtreecommitdiffstats
path: root/sys/nfsserver
diff options
context:
space:
mode:
authortrhodes <trhodes@FreeBSD.org>2006-01-23 21:06:22 +0000
committertrhodes <trhodes@FreeBSD.org>2006-01-23 21:06:22 +0000
commit80610803f591a843f1295103209478fe22efd97d (patch)
treef1fb2aaf1f5978e404aff44f23d0baec3cf2c35a /sys/nfsserver
parent90a825465e422e960551a43467f2051cf0326986 (diff)
downloadFreeBSD-src-80610803f591a843f1295103209478fe22efd97d.zip
FreeBSD-src-80610803f591a843f1295103209478fe22efd97d.tar.gz
Revert my previous commit.
Proved I'm not that bright at times: jhb
Diffstat (limited to 'sys/nfsserver')
-rw-r--r--sys/nfsserver/nfs_serv.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/nfsserver/nfs_serv.c b/sys/nfsserver/nfs_serv.c
index e64389c..e366745 100644
--- a/sys/nfsserver/nfs_serv.c
+++ b/sys/nfsserver/nfs_serv.c
@@ -525,6 +525,10 @@ nfsrv_lookup(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
NFSD_UNLOCK();
mtx_lock(&Giant); /* VFS */
if (error) {
+ if (dirp) {
+ vrele(dirp);
+ dirp = NULL;
+ }
mtx_unlock(&Giant); /* VFS */
NFSD_LOCK();
nfsm_reply(NFSX_POSTOPATTR(v3));
@@ -595,6 +599,11 @@ nfsrv_lookup(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
}
}
+ if (dirp) {
+ vrele(dirp);
+ dirp = NULL;
+ }
+
/*
* Resources at this point:
* ndp->ni_vp may not be NULL
@@ -655,6 +664,8 @@ nfsmout:
NFSD_LOCK_ASSERT();
NFSD_UNLOCK();
mtx_lock(&Giant); /* VFS */
+ if (dirp)
+ vrele(dirp);
NDFREE(&nd, NDF_ONLY_PNBUF);
if (ndp->ni_startdir)
vrele(ndp->ni_startdir);
OpenPOWER on IntegriCloud