xprtrdma: Back off rkey when FAST_REG_MR fails
authorChuck Lever <chuck.lever@oracle.com>
Tue, 29 Jul 2014 21:24:19 +0000 (17:24 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Thu, 31 Jul 2014 20:22:54 +0000 (16:22 -0400)
If posting a FAST_REG_MR Work Reqeust fails, revert the rkey update
to avoid subsequent IB_WC_MW_BIND_ERR completions.

Suggested-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
net/sunrpc/xprtrdma/verbs.c

index dd1dabc..b670f4d 100644 (file)
@@ -1577,6 +1577,7 @@ rpcrdma_register_frmr_external(struct rpcrdma_mr_seg *seg,
        if (rc) {
                dprintk("RPC:       %s: failed ib_post_send for register,"
                        " status %i\n", __func__, rc);
+               ib_update_fast_reg_key(mr, --key);
                goto out_err;
        } else {
                seg1->mr_rkey = mr->rkey;