Skip to content

Commit

Permalink
NFSv4: Fix the alignment of page data in the getdeviceinfo reply
Browse files Browse the repository at this point in the history
We can fit the device_addr4 opaque data padding in the pages.

Fixes: cf500ba ("SUNRPC: Introduce rpc_prepare_reply_pages()")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
  • Loading branch information
Trond Myklebust committed Dec 2, 2020
1 parent 9889981 commit 046e5cc
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions fs/nfs/nfs4xdr.c
Original file line number Diff line number Diff line change
Expand Up @@ -3009,15 +3009,19 @@ static void nfs4_xdr_enc_getdeviceinfo(struct rpc_rqst *req,
struct compound_hdr hdr = {
.minorversion = nfs4_xdr_minorversion(&args->seq_args),
};
uint32_t replen;

encode_compound_hdr(xdr, req, &hdr);
encode_sequence(xdr, &args->seq_args, &hdr);

replen = hdr.replen + op_decode_hdr_maxsz;

encode_getdeviceinfo(xdr, args, &hdr);

/* set up reply kvec. Subtract notification bitmap max size (2)
* so that notification bitmap is put in xdr_buf tail */
/* set up reply kvec. device_addr4 opaque data is read into the
* pages */
rpc_prepare_reply_pages(req, args->pdev->pages, args->pdev->pgbase,
args->pdev->pglen, hdr.replen - 2);
args->pdev->pglen, replen + 2 + 1);
encode_nops(&hdr);
}

Expand Down

0 comments on commit 046e5cc

Please sign in to comment.