diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2016-03-01 21:05:54 +0300 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2016-03-02 00:06:34 +0300 |
commit | f6763c29ab86c3ee27760a06e07bbeab47635b61 (patch) | |
tree | 34252ca2fcf9334f18cb2be875ecf340bb0502ba /net/sunrpc/xprtrdma/svc_rdma_backchannel.c | |
parent | cf570a93748ab95cf5d13d3d8058875f970f3a66 (diff) | |
download | linux-f6763c29ab86c3ee27760a06e07bbeab47635b61.tar.xz |
svcrdma: Do not send Write chunk XDR pad with inline content
The NFS server's XDR encoders adds an XDR pad for content in the
xdr_buf page list at the beginning of the xdr_buf's tail buffer.
On RDMA transports, Write chunks are sent separately and without an
XDR pad.
If a Write chunk is being sent, strip off the pad in the tail buffer
so that inline content following the Write chunk remains XDR-aligned
when it is sent to the client.
BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=294
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net/sunrpc/xprtrdma/svc_rdma_backchannel.c')
-rw-r--r-- | net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/xprtrdma/svc_rdma_backchannel.c b/net/sunrpc/xprtrdma/svc_rdma_backchannel.c index 65a7c232a345..de3919624fac 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_backchannel.c +++ b/net/sunrpc/xprtrdma/svc_rdma_backchannel.c @@ -107,7 +107,7 @@ static int svc_rdma_bc_sendto(struct svcxprt_rdma *rdma, int ret; vec = svc_rdma_get_req_map(rdma); - ret = svc_rdma_map_xdr(rdma, sndbuf, vec); + ret = svc_rdma_map_xdr(rdma, sndbuf, vec, false); if (ret) goto out_err; |