svcrdma: advertise the correct max payload
authorSteve Wise <swise@opengridcomputing.com>
Tue, 23 Sep 2014 22:11:22 +0000 (17:11 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 29 Sep 2014 18:35:18 +0000 (14:35 -0400)
commit7e5be28827bf5c1989218c4b7bf64fdbc3d679b5
tree070f7e780597acd2543d53f2eafe0bf88d777a3b
parent0162ac2b978e18792fa8cf3c0b4304321b4a3983
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>
net/sunrpc/xprtrdma/svc_rdma_transport.c
net/sunrpc/xprtrdma/xprt_rdma.h