diff options
| author | Tom Rhodes <trhodes@FreeBSD.org> | 2006-01-21 12:10:33 +0000 |
|---|---|---|
| committer | Tom Rhodes <trhodes@FreeBSD.org> | 2006-01-21 12:10:33 +0000 |
| commit | 9c013503bb8566a3ef22a611c05da3186fc13001 (patch) | |
| tree | 39dff1f6f29fe158069c27ee617eb04bba36477f /sys/nfsserver | |
| parent | a7571c3f6bf639f51a73fb6d21702a1e1aeccc32 (diff) | |
Notes
Diffstat (limited to 'sys/nfsserver')
| -rw-r--r-- | sys/nfsserver/nfs_serv.c | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/sys/nfsserver/nfs_serv.c b/sys/nfsserver/nfs_serv.c index e36674544912..9e7aa425e17e 100644 --- a/sys/nfsserver/nfs_serv.c +++ b/sys/nfsserver/nfs_serv.c @@ -525,17 +525,13 @@ 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)); - if (v3) - nfsm_srvpostop_attr(dirattr_ret, &dirattr); - error = 0; - goto nfsmout; + mtx_unlock(&Giant); /* VFS */ + NFSD_LOCK(); + nfsm_reply(NFSX_POSTOPATTR(v3)); + if (v3) + nfsm_srvpostop_attr(dirattr_ret, &dirattr); + error = 0; + goto nfsmout; } /* @@ -599,11 +595,6 @@ 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 @@ -664,8 +655,6 @@ 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); |
