|
@@ -3431,7 +3431,8 @@ nfsd4_encode_read(struct nfsd4_compoundres *resp, __be32 nfserr,
|
|
nfserr = nfserr_resource;
|
|
nfserr = nfserr_resource;
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
- if (resp->xdr.buf->page_len && test_bit(RQ_SPLICE_OK, &resp->rqstp->rq_flags)) {
|
|
|
|
|
|
+ if (resp->xdr.buf->page_len &&
|
|
|
|
+ test_bit(RQ_SPLICE_OK, &resp->rqstp->rq_flags)) {
|
|
WARN_ON_ONCE(1);
|
|
WARN_ON_ONCE(1);
|
|
nfserr = nfserr_resource;
|
|
nfserr = nfserr_resource;
|
|
goto out;
|
|
goto out;
|
|
@@ -3439,13 +3440,15 @@ nfsd4_encode_read(struct nfsd4_compoundres *resp, __be32 nfserr,
|
|
xdr_commit_encode(xdr);
|
|
xdr_commit_encode(xdr);
|
|
|
|
|
|
maxcount = svc_max_payload(resp->rqstp);
|
|
maxcount = svc_max_payload(resp->rqstp);
|
|
- maxcount = min_t(unsigned long, maxcount, (xdr->buf->buflen - xdr->buf->len));
|
|
|
|
|
|
+ maxcount = min_t(unsigned long, maxcount,
|
|
|
|
+ (xdr->buf->buflen - xdr->buf->len));
|
|
maxcount = min_t(unsigned long, maxcount, read->rd_length);
|
|
maxcount = min_t(unsigned long, maxcount, read->rd_length);
|
|
|
|
|
|
if (read->rd_tmp_file)
|
|
if (read->rd_tmp_file)
|
|
ra = nfsd_init_raparms(file);
|
|
ra = nfsd_init_raparms(file);
|
|
|
|
|
|
- if (file->f_op->splice_read && test_bit(RQ_SPLICE_OK, &resp->rqstp->rq_flags))
|
|
|
|
|
|
+ if (file->f_op->splice_read &&
|
|
|
|
+ test_bit(RQ_SPLICE_OK, &resp->rqstp->rq_flags))
|
|
nfserr = nfsd4_encode_splice_read(resp, read, file, maxcount);
|
|
nfserr = nfsd4_encode_splice_read(resp, read, file, maxcount);
|
|
else
|
|
else
|
|
nfserr = nfsd4_encode_readv(resp, read, file, maxcount);
|
|
nfserr = nfsd4_encode_readv(resp, read, file, maxcount);
|