aboutsummaryrefslogtreecommitdiff
path: root/sys/nfsclient
diff options
context:
space:
mode:
authorBill Paul <wpaul@FreeBSD.org>1999-07-30 04:02:04 +0000
committerBill Paul <wpaul@FreeBSD.org>1999-07-30 04:02:04 +0000
commitf069164876713037b41d4fe2fdc798eabe83fd3e (patch)
tree7778f38b66bc72490fb74d91f707d9dabaf54469 /sys/nfsclient
parentac0222655510fcce56727d718c4179c2d4a7543f (diff)
Notes
Diffstat (limited to 'sys/nfsclient')
-rw-r--r--sys/nfsclient/nfs_vnops.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c
index d95ed0ac8e40..72e67f6837c2 100644
--- a/sys/nfsclient/nfs_vnops.c
+++ b/sys/nfsclient/nfs_vnops.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95
- * $Id: nfs_vnops.c,v 1.134 1999/06/30 02:53:51 julian Exp $
+ * $Id: nfs_vnops.c,v 1.135 1999/07/01 13:32:54 peter Exp $
*/
@@ -2343,7 +2343,7 @@ nfs_readdirplusrpc(vp, uiop, cred)
newvp = NFSTOV(np);
}
}
- if (doit) {
+ if (doit && bigenough) {
dpossav2 = dpos;
dpos = dpossav1;
mdsav2 = md;
@@ -2367,7 +2367,10 @@ nfs_readdirplusrpc(vp, uiop, cred)
nfsm_adv(nfsm_rndup(i));
}
if (newvp != NULLVP) {
- vrele(newvp);
+ if (newvp == vp)
+ vrele(newvp);
+ else
+ vput(newvp);
newvp = NULLVP;
}
nfsm_dissect(tl, u_int32_t *, NFSX_UNSIGNED);