nfsd4: minor encode_read cleanup
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
4f0cefbf38
commit
6ff9897d2b
|
@ -3076,18 +3076,20 @@ nfsd4_encode_read(struct nfsd4_compoundres *resp, __be32 nfserr,
|
||||||
|
|
||||||
len = maxcount;
|
len = maxcount;
|
||||||
v = 0;
|
v = 0;
|
||||||
while (len > 0) {
|
while (len) {
|
||||||
|
int thislen;
|
||||||
|
|
||||||
page = *(resp->rqstp->rq_next_page);
|
page = *(resp->rqstp->rq_next_page);
|
||||||
if (!page) { /* ran out of pages */
|
if (!page) { /* ran out of pages */
|
||||||
maxcount -= len;
|
maxcount -= len;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
thislen = min_t(long, len, PAGE_SIZE);
|
||||||
resp->rqstp->rq_vec[v].iov_base = page_address(page);
|
resp->rqstp->rq_vec[v].iov_base = page_address(page);
|
||||||
resp->rqstp->rq_vec[v].iov_len =
|
resp->rqstp->rq_vec[v].iov_len = thislen;
|
||||||
len < PAGE_SIZE ? len : PAGE_SIZE;
|
|
||||||
resp->rqstp->rq_next_page++;
|
resp->rqstp->rq_next_page++;
|
||||||
v++;
|
v++;
|
||||||
len -= PAGE_SIZE;
|
len -= thislen;
|
||||||
}
|
}
|
||||||
read->rd_vlen = v;
|
read->rd_vlen = v;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue