]> www.infradead.org Git - users/willy/linux.git/commit
NFSD: Invoke svc_encode_result_payload() in "read" NFSD encoders
authorChuck Lever <chuck.lever@oracle.com>
Thu, 5 Nov 2020 15:24:19 +0000 (10:24 -0500)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 30 Nov 2020 18:00:22 +0000 (13:00 -0500)
commit76e5492b161f555c0fb69cad9eb39a7d8467f5fe
tree3e9138d9e6fdeac58c6a4f434ef5daee79b2eb51
parent03493bca084fdca48abc59b00e06ce733aa9eb7d
NFSD: Invoke svc_encode_result_payload() in "read" NFSD encoders

Have the NFSD encoders annotate the boundaries of every
direct-data-placement eligible result data payload. Then change
svcrdma to use that annotation instead of the xdr->page_len
when handling Write chunks.

For NFSv4 on RDMA, that enables the ability to recognize multiple
result payloads per compound. This is a pre-requisite for supporting
multiple Write chunks per RPC transaction.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/nfs3xdr.c
fs/nfsd/nfs4xdr.c
fs/nfsd/nfsxdr.c
net/sunrpc/xprtrdma/svc_rdma_sendto.c