aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/nfsserver/nfs_srvsock.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/nfsserver/nfs_srvsock.c b/sys/nfsserver/nfs_srvsock.c
index d43b97a21e6d..fe915682598d 100644
--- a/sys/nfsserver/nfs_srvsock.c
+++ b/sys/nfsserver/nfs_srvsock.c
@@ -433,16 +433,18 @@ nfsrv_rcv(struct socket *so, void *arg, int waitflag)
/* XXXRW: Unlocked read. */
if ((slp->ns_flag & SLP_VALID) == 0)
return;
-#ifdef notdef
+
/*
- * Define this to test for nfsds handling this under heavy load.
+ * We can't do this in the context of a socket callback
+ * because we're called with locks held.
+ * XXX: SMP
*/
if (waitflag == M_DONTWAIT) {
NFSD_LOCK();
slp->ns_flag |= SLP_NEEDQ;
goto dorecs;
}
-#endif
+
NFSD_LOCK();
auio.uio_td = NULL;