diff options
author | Steve Wise <swise@opengridcomputing.com> | 2014-09-23 17:11:22 -0500 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2014-09-29 14:35:18 -0400 |
commit | 7e5be28827bf5c1989218c4b7bf64fdbc3d679b5 (patch) | |
tree | 070f7e780597acd2543d53f2eafe0bf88d777a3b /net/sunrpc/xprtrdma/svc_rdma_transport.c | |
parent | 0162ac2b978e18792fa8cf3c0b4304321b4a3983 (diff) | |
download | op-kernel-dev-7e5be28827bf5c1989218c4b7bf64fdbc3d679b5.zip op-kernel-dev-7e5be28827bf5c1989218c4b7bf64fdbc3d679b5.tar.gz |
svcrdma: advertise the correct max payload
Svcrdma currently advertises 1MB, which is too large. The correct value
is the minimum of RPCSVC_MAXPAYLOAD and the max scatter-gather allowed
in an NFSRDMA IO chunk * the host page size. This bug is usually benign
because the Linux X64 NFSRDMA client correctly limits the payload size to
the correct value (64*4096 = 256KB). But if the Linux client is PPC64
with a 64KB page size, then the client will indeed use a payload size
that will overflow the server.
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net/sunrpc/xprtrdma/svc_rdma_transport.c')
-rw-r--r-- | net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c index 374feb4..4e61880 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c @@ -91,7 +91,7 @@ struct svc_xprt_class svc_rdma_class = { .xcl_name = "rdma", .xcl_owner = THIS_MODULE, .xcl_ops = &svc_rdma_ops, - .xcl_max_payload = RPCSVC_MAXPAYLOAD_TCP, + .xcl_max_payload = RPCSVC_MAXPAYLOAD_RDMA, .xcl_ident = XPRT_TRANSPORT_RDMA, }; |