linux_dsm_epyc7002/net/sunrpc/xprtrdma
Chuck Lever 1f541895da xprtrdma: Don't defer MR recovery if ro_map fails
Deferred MR recovery does a DMA-unmapping of the MW. However, ro_map
invokes rpcrdma_defer_mr_recovery in some error cases where the MW
has not even been DMA-mapped yet.

Avoid a DMA-unmapping error replacing rpcrdma_defer_mr_recovery.

Also note that if ib_dma_map_sg is asked to map 0 nents, it will
return 0. So the extra "if (i == 0)" check is no longer needed.

Fixes: 42fe28f607 ("xprtrdma: Do not leak an MW during a DMA ...")
Fixes: 505bbe64dd ("xprtrdma: Refactor MR recovery work queues")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2017-07-13 16:00:11 -04:00
..
backchannel.c xprtrdma: Delete an error message for a failed memory allocation in xprt_rdma_bc_setup() 2017-05-24 07:53:37 -04:00
fmr_ops.c xprtrdma: Don't defer MR recovery if ro_map fails 2017-07-13 16:00:11 -04:00
frwr_ops.c xprtrdma: Don't defer MR recovery if ro_map fails 2017-07-13 16:00:11 -04:00
Makefile svcrdma: Introduce local rdma_rw API helpers 2017-04-25 17:25:55 -04:00
module.c rpcrdma: Merge svcrdma and xprtrdma modules into one 2015-06-04 16:56:02 -04:00
rpc_rdma.c xprtrdma: Fix client lock-up after application signal fires 2017-07-13 16:00:11 -04:00
svc_rdma_backchannel.c svcrdma: Clean up RPC-over-RDMA backchannel reply processing 2017-04-25 17:25:55 -04:00
svc_rdma_marshal.c svcrdma: Clean out old XDR encoders 2017-04-25 17:25:56 -04:00
svc_rdma_recvfrom.c svcrdma: Clean up RPC-over-RDMA backchannel reply processing 2017-04-25 17:25:55 -04:00
svc_rdma_rw.c svcrdma: Introduce local rdma_rw API helpers 2017-04-25 17:25:55 -04:00
svc_rdma_sendto.c svcrdma: Remove the req_map cache 2017-04-25 17:25:55 -04:00
svc_rdma_transport.c svcrdma: Remove the req_map cache 2017-04-25 17:25:55 -04:00
svc_rdma.c svcrdma: Reduce size of sge array in struct svc_rdma_op_ctxt 2017-04-25 17:25:55 -04:00
transport.c xprtrdma: Fix client lock-up after application signal fires 2017-07-13 16:00:11 -04:00
verbs.c xprtrdma: Fix client lock-up after application signal fires 2017-07-13 16:00:11 -04:00
xprt_rdma.h xprtrdma: Fix client lock-up after application signal fires 2017-07-13 16:00:11 -04:00