On Sun, Aug 03, 2014 at 01:03:06PM -0400, Trond Myklebust wrote: > We already determined that there was enough wspace when we > called svc_xprt_enqueue. So xpo_has_wspace may have returned true then, but I don't see what guarantees it still would now. Couldn't another server thread have also run svc_recv() and the atomic_add(rqstp->rq_reserved, &xprt->xpt_reserved) between the svc_xprt_enqueue call and now? --b. > > Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> > --- > net/sunrpc/svc_xprt.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c > index 32647b2a6a34..b731077b6a30 100644 > --- a/net/sunrpc/svc_xprt.c > +++ b/net/sunrpc/svc_xprt.c > @@ -744,7 +744,7 @@ static int svc_handle_xprt(struct svc_rqst *rqstp, struct svc_xprt *xprt) > svc_add_new_temp_xprt(serv, newxpt); > else > module_put(xprt->xpt_class->xcl_owner); > - } else if (xprt->xpt_ops->xpo_has_wspace(xprt)) { > + } else { > /* XPT_DATA|XPT_DEFERRED case: */ > dprintk("svc: server %p, pool %u, transport %p, inuse=%d\n", > rqstp, rqstp->rq_pool->sp_id, xprt, > -- > 1.9.3 > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html