> On Oct 27, 2020, at 4:53 PM, bfields@xxxxxxxxxxxx wrote: > > On Mon, Oct 26, 2020 at 02:54:14PM -0400, Chuck Lever wrote: >> Clean up: "result payload" is a less confusing name for these >> payloads. "READ payload" reflects only the NFS usage. >> >> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> >> --- >> fs/nfsd/nfs4xdr.c | 2 +- >> include/linux/sunrpc/svc.h | 6 +++--- >> include/linux/sunrpc/svc_rdma.h | 4 ++-- >> include/linux/sunrpc/svc_xprt.h | 4 ++-- >> net/sunrpc/svc.c | 11 ++++++----- >> net/sunrpc/svcsock.c | 8 ++++---- >> net/sunrpc/xprtrdma/svc_rdma_sendto.c | 8 ++++---- >> net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +- >> 8 files changed, 23 insertions(+), 22 deletions(-) >> >> diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c >> index 833a2c64dfe8..7e24fb3ca36e 100644 >> --- a/fs/nfsd/nfs4xdr.c >> +++ b/fs/nfsd/nfs4xdr.c >> @@ -3829,7 +3829,7 @@ static __be32 nfsd4_encode_readv(struct nfsd4_compoundres *resp, >> read->rd_length = maxcount; >> if (nfserr) >> return nfserr; >> - if (svc_encode_read_payload(resp->rqstp, starting_len + 8, maxcount)) >> + if (svc_encode_result_payload(resp->rqstp, starting_len + 8, maxcount)) >> return nfserr_io; > > Why does this call check for an error return while the > svc_encode_result_payload() calls in the next patch don't? Very likely an oversight. I will ensure the next patch properly incorporates return code checking. > > --b. > >> xdr_truncate_encode(xdr, starting_len + 8 + xdr_align_size(maxcount)); >> >> diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h >> index 386628b36bc7..c220b734fa69 100644 >> --- a/include/linux/sunrpc/svc.h >> +++ b/include/linux/sunrpc/svc.h >> @@ -519,9 +519,9 @@ void svc_wake_up(struct svc_serv *); >> void svc_reserve(struct svc_rqst *rqstp, int space); >> struct svc_pool * svc_pool_for_cpu(struct svc_serv *serv, int cpu); >> char * svc_print_addr(struct svc_rqst *, char *, size_t); >> -int svc_encode_read_payload(struct svc_rqst *rqstp, >> - unsigned int offset, >> - unsigned int length); >> +int svc_encode_result_payload(struct svc_rqst *rqstp, >> + unsigned int offset, >> + unsigned int length); >> unsigned int svc_fill_write_vector(struct svc_rqst *rqstp, >> struct page **pages, >> struct kvec *first, size_t total); >> diff --git a/include/linux/sunrpc/svc_rdma.h b/include/linux/sunrpc/svc_rdma.h >> index 9dc3a3b88391..2b870a3f391b 100644 >> --- a/include/linux/sunrpc/svc_rdma.h >> +++ b/include/linux/sunrpc/svc_rdma.h >> @@ -207,8 +207,8 @@ extern void svc_rdma_send_error_msg(struct svcxprt_rdma *rdma, >> struct svc_rdma_recv_ctxt *rctxt, >> int status); >> extern int svc_rdma_sendto(struct svc_rqst *); >> -extern int svc_rdma_read_payload(struct svc_rqst *rqstp, unsigned int offset, >> - unsigned int length); >> +extern int svc_rdma_result_payload(struct svc_rqst *rqstp, unsigned int offset, >> + unsigned int length); >> >> /* svc_rdma_transport.c */ >> extern struct svc_xprt_class svc_rdma_class; >> diff --git a/include/linux/sunrpc/svc_xprt.h b/include/linux/sunrpc/svc_xprt.h >> index aca35ab5cff2..92455e0d5244 100644 >> --- a/include/linux/sunrpc/svc_xprt.h >> +++ b/include/linux/sunrpc/svc_xprt.h >> @@ -21,8 +21,8 @@ struct svc_xprt_ops { >> int (*xpo_has_wspace)(struct svc_xprt *); >> int (*xpo_recvfrom)(struct svc_rqst *); >> int (*xpo_sendto)(struct svc_rqst *); >> - int (*xpo_read_payload)(struct svc_rqst *, unsigned int, >> - unsigned int); >> + int (*xpo_result_payload)(struct svc_rqst *, unsigned int, >> + unsigned int); >> void (*xpo_release_rqst)(struct svc_rqst *); >> void (*xpo_detach)(struct svc_xprt *); >> void (*xpo_free)(struct svc_xprt *); >> diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c >> index c211b607239e..b41500645c3f 100644 >> --- a/net/sunrpc/svc.c >> +++ b/net/sunrpc/svc.c >> @@ -1622,7 +1622,7 @@ u32 svc_max_payload(const struct svc_rqst *rqstp) >> EXPORT_SYMBOL_GPL(svc_max_payload); >> >> /** >> - * svc_encode_read_payload - mark a range of bytes as a READ payload >> + * svc_encode_result_payload - mark a range of bytes as a result payload >> * @rqstp: svc_rqst to operate on >> * @offset: payload's byte offset in rqstp->rq_res >> * @length: size of payload, in bytes >> @@ -1630,12 +1630,13 @@ EXPORT_SYMBOL_GPL(svc_max_payload); >> * Returns zero on success, or a negative errno if a permanent >> * error occurred. >> */ >> -int svc_encode_read_payload(struct svc_rqst *rqstp, unsigned int offset, >> - unsigned int length) >> +int svc_encode_result_payload(struct svc_rqst *rqstp, unsigned int offset, >> + unsigned int length) >> { >> - return rqstp->rq_xprt->xpt_ops->xpo_read_payload(rqstp, offset, length); >> + return rqstp->rq_xprt->xpt_ops->xpo_result_payload(rqstp, offset, >> + length); >> } >> -EXPORT_SYMBOL_GPL(svc_encode_read_payload); >> +EXPORT_SYMBOL_GPL(svc_encode_result_payload); >> >> /** >> * svc_fill_write_vector - Construct data argument for VFS write call >> diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c >> index c2752e2b9ce3..b248f2349437 100644 >> --- a/net/sunrpc/svcsock.c >> +++ b/net/sunrpc/svcsock.c >> @@ -181,8 +181,8 @@ static void svc_set_cmsg_data(struct svc_rqst *rqstp, struct cmsghdr *cmh) >> } >> } >> >> -static int svc_sock_read_payload(struct svc_rqst *rqstp, unsigned int offset, >> - unsigned int length) >> +static int svc_sock_result_payload(struct svc_rqst *rqstp, unsigned int offset, >> + unsigned int length) >> { >> return 0; >> } >> @@ -635,7 +635,7 @@ static const struct svc_xprt_ops svc_udp_ops = { >> .xpo_create = svc_udp_create, >> .xpo_recvfrom = svc_udp_recvfrom, >> .xpo_sendto = svc_udp_sendto, >> - .xpo_read_payload = svc_sock_read_payload, >> + .xpo_result_payload = svc_sock_result_payload, >> .xpo_release_rqst = svc_udp_release_rqst, >> .xpo_detach = svc_sock_detach, >> .xpo_free = svc_sock_free, >> @@ -1123,7 +1123,7 @@ static const struct svc_xprt_ops svc_tcp_ops = { >> .xpo_create = svc_tcp_create, >> .xpo_recvfrom = svc_tcp_recvfrom, >> .xpo_sendto = svc_tcp_sendto, >> - .xpo_read_payload = svc_sock_read_payload, >> + .xpo_result_payload = svc_sock_result_payload, >> .xpo_release_rqst = svc_tcp_release_rqst, >> .xpo_detach = svc_tcp_sock_detach, >> .xpo_free = svc_sock_free, >> diff --git a/net/sunrpc/xprtrdma/svc_rdma_sendto.c b/net/sunrpc/xprtrdma/svc_rdma_sendto.c >> index c3d588b149aa..c8411b4f3492 100644 >> --- a/net/sunrpc/xprtrdma/svc_rdma_sendto.c >> +++ b/net/sunrpc/xprtrdma/svc_rdma_sendto.c >> @@ -979,19 +979,19 @@ int svc_rdma_sendto(struct svc_rqst *rqstp) >> } >> >> /** >> - * svc_rdma_read_payload - special processing for a READ payload >> + * svc_rdma_result_payload - special processing for a result payload >> * @rqstp: svc_rqst to operate on >> * @offset: payload's byte offset in @xdr >> * @length: size of payload, in bytes >> * >> * Returns zero on success. >> * >> - * For the moment, just record the xdr_buf location of the READ >> + * For the moment, just record the xdr_buf location of the result >> * payload. svc_rdma_sendto will use that location later when >> * we actually send the payload. >> */ >> -int svc_rdma_read_payload(struct svc_rqst *rqstp, unsigned int offset, >> - unsigned int length) >> +int svc_rdma_result_payload(struct svc_rqst *rqstp, unsigned int offset, >> + unsigned int length) >> { >> struct svc_rdma_recv_ctxt *rctxt = rqstp->rq_xprt_ctxt; >> >> diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c >> index fb044792b571..afba4e9d5425 100644 >> --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c >> +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c >> @@ -80,7 +80,7 @@ static const struct svc_xprt_ops svc_rdma_ops = { >> .xpo_create = svc_rdma_create, >> .xpo_recvfrom = svc_rdma_recvfrom, >> .xpo_sendto = svc_rdma_sendto, >> - .xpo_read_payload = svc_rdma_read_payload, >> + .xpo_result_payload = svc_rdma_result_payload, >> .xpo_release_rqst = svc_rdma_release_rqst, >> .xpo_detach = svc_rdma_detach, >> .xpo_free = svc_rdma_free, >> -- Chuck Lever