diff options
| author | Chuck Lever <chuck.lever@oracle.com> | 2014-07-29 17:24:19 -0400 |
|---|---|---|
| committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2014-07-31 16:22:54 -0400 |
| commit | c93e986a295d537589efd0504f36ca952bd1a5be (patch) | |
| tree | f36cea28c43152182d785b5e4968d3786a3e5afb /net | |
| parent | 0dbb4108a6a615589751de2aaf468d3ddbcef24c (diff) | |
xprtrdma: Back off rkey when FAST_REG_MR fails
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>
Diffstat (limited to 'net')
| -rw-r--r-- | net/sunrpc/xprtrdma/verbs.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c index dd1dabcd3a07..b670f4d92840 100644 --- a/net/sunrpc/xprtrdma/verbs.c +++ b/net/sunrpc/xprtrdma/verbs.c | |||
| @@ -1577,6 +1577,7 @@ rpcrdma_register_frmr_external(struct rpcrdma_mr_seg *seg, | |||
| 1577 | if (rc) { | 1577 | if (rc) { |
| 1578 | dprintk("RPC: %s: failed ib_post_send for register," | 1578 | dprintk("RPC: %s: failed ib_post_send for register," |
| 1579 | " status %i\n", __func__, rc); | 1579 | " status %i\n", __func__, rc); |
| 1580 | ib_update_fast_reg_key(mr, --key); | ||
| 1580 | goto out_err; | 1581 | goto out_err; |
| 1581 | } else { | 1582 | } else { |
| 1582 | seg1->mr_rkey = mr->rkey; | 1583 | seg1->mr_rkey = mr->rkey; |
