• Chuck Lever's avatar
    xprtrdma: Fix ri_max_segs and the result of ro_maxpages · 6946f823
    Chuck Lever authored
    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: default avatarChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
    6946f823
frwr_ops.c 16.1 KB