aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/sunrpc/svc.c2
-rw-r--r--net/sunrpc/svc_xprt.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
index fff09a2d8960..45984cbe1bfa 100644
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -1023,6 +1023,8 @@ svc_process(struct svc_rqst *rqstp)
1023 rqstp->rq_res.tail[0].iov_len = 0; 1023 rqstp->rq_res.tail[0].iov_len = 0;
1024 /* Will be turned off only in gss privacy case: */ 1024 /* Will be turned off only in gss privacy case: */
1025 rqstp->rq_splice_ok = 1; 1025 rqstp->rq_splice_ok = 1;
1026 /* Will be turned off only when NFSv4 Sessions are used */
1027 rqstp->rq_usedeferral = 1;
1026 1028
1027 /* Setup reply header */ 1029 /* Setup reply header */
1028 rqstp->rq_xprt->xpt_ops->xpo_prep_reply_hdr(rqstp); 1030 rqstp->rq_xprt->xpt_ops->xpo_prep_reply_hdr(rqstp);
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
index 1e66f2491460..600d0918e3ae 100644
--- a/net/sunrpc/svc_xprt.c
+++ b/net/sunrpc/svc_xprt.c
@@ -974,7 +974,7 @@ static struct cache_deferred_req *svc_defer(struct cache_req *req)
974 struct svc_rqst *rqstp = container_of(req, struct svc_rqst, rq_chandle); 974 struct svc_rqst *rqstp = container_of(req, struct svc_rqst, rq_chandle);
975 struct svc_deferred_req *dr; 975 struct svc_deferred_req *dr;
976 976
977 if (rqstp->rq_arg.page_len) 977 if (rqstp->rq_arg.page_len || !rqstp->rq_usedeferral)
978 return NULL; /* if more than a page, give up FIXME */ 978 return NULL; /* if more than a page, give up FIXME */
979 if (rqstp->rq_deferred) { 979 if (rqstp->rq_deferred) {
980 dr = rqstp->rq_deferred; 980 dr = rqstp->rq_deferred;