Chuck Lever 6946f82380 xprtrdma: Fix ri_max_segs and the result of ro_maxpages
With certain combinations of krb5i/p, MR size, and r/wsize, I/O can
fail with EMSGSIZE. This is because the calculated value of
ri_max_segs (the max number of MRs per RPC) exceeded
RPCRDMA_MAX_HDR_SEGS, which caused Read or Write list encoding to
walk off the end of the transport header.

Once that was addressed, the ro_maxpages result has to be corrected
to account for the number of MRs needed for Reply chunks, which is
2 MRs smaller than a normal Read or Write chunk.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2019-01-02 12:05:16 -05:00
..
2014-07-12 18:45:49 -04:00
2018-12-19 13:52:46 -05:00
2018-12-19 13:52:46 -05:00
2018-07-31 12:53:40 -04:00
2018-07-31 12:53:40 -04:00
2018-07-31 12:53:40 -04:00
2018-08-09 16:11:21 -04:00
2018-12-18 11:04:10 -05:00