diff options
Diffstat (limited to 'fs/nfsd/nfs4xdr.c')
-rw-r--r-- | fs/nfsd/nfs4xdr.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index e9abf5f66e8b..79b8e1ef0f39 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c | |||
@@ -3789,19 +3789,13 @@ nfs4svc_encode_compoundres(struct svc_rqst *rqstp, __be32 *p, struct nfsd4_compo | |||
3789 | * All that remains is to write the tag and operation count... | 3789 | * All that remains is to write the tag and operation count... |
3790 | */ | 3790 | */ |
3791 | struct nfsd4_compound_state *cs = &resp->cstate; | 3791 | struct nfsd4_compound_state *cs = &resp->cstate; |
3792 | struct kvec *iov; | 3792 | |
3793 | p = resp->tagp; | 3793 | p = resp->tagp; |
3794 | *p++ = htonl(resp->taglen); | 3794 | *p++ = htonl(resp->taglen); |
3795 | memcpy(p, resp->tag, resp->taglen); | 3795 | memcpy(p, resp->tag, resp->taglen); |
3796 | p += XDR_QUADLEN(resp->taglen); | 3796 | p += XDR_QUADLEN(resp->taglen); |
3797 | *p++ = htonl(resp->opcnt); | 3797 | *p++ = htonl(resp->opcnt); |
3798 | 3798 | ||
3799 | if (rqstp->rq_res.page_len) | ||
3800 | iov = &rqstp->rq_res.tail[0]; | ||
3801 | else | ||
3802 | iov = &rqstp->rq_res.head[0]; | ||
3803 | iov->iov_len = ((char *)resp->xdr.p) - (char *)iov->iov_base; | ||
3804 | BUG_ON(iov->iov_len > PAGE_SIZE); | ||
3805 | if (nfsd4_has_session(cs)) { | 3799 | if (nfsd4_has_session(cs)) { |
3806 | struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); | 3800 | struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); |
3807 | struct nfs4_client *clp = cs->session->se_client; | 3801 | struct nfs4_client *clp = cs->session->se_client; |