Commit b674c4b4 authored by Chuck Lever's avatar Chuck Lever Committed by Anna Schumaker

xprtrdma: Ensure MRs are DMA-unmapped when posting LOCAL_INV fails

The recovery case in frwr_op_unmap_sync needs to DMA unmap each MR.
frwr_release_mr does not DMA-unmap, but the recycle worker does.

Fixes: 61da886b ("xprtrdma: Explicitly resetting MRs is ... ")
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent e2f34e26
...@@ -563,8 +563,8 @@ frwr_op_unmap_sync(struct rpcrdma_xprt *r_xprt, struct list_head *mrs) ...@@ -563,8 +563,8 @@ frwr_op_unmap_sync(struct rpcrdma_xprt *r_xprt, struct list_head *mrs)
mr = container_of(frwr, struct rpcrdma_mr, frwr); mr = container_of(frwr, struct rpcrdma_mr, frwr);
bad_wr = bad_wr->next; bad_wr = bad_wr->next;
list_del(&mr->mr_list); list_del_init(&mr->mr_list);
frwr_op_release_mr(mr); rpcrdma_mr_recycle(mr);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment