linux-stable/net/sunrpc/xprtrdma
Chuck Lever 467c9674bc xprtrdma: unmap all FMRs during transport disconnect
When using RPCRDMA_MTHCAFMR memory registration, after a few
transport disconnect / reconnect cycles, ib_map_phys_fmr() starts to
return EINVAL because the provider has exhausted its map pool.

Make sure that all FMRs are unmapped during transport disconnect,
and that ->send_request remarshals them during an RPC retransmit.
This resets the transport's MRs to ensure that none are leaked
during a disconnect.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2014-11-25 13:39:20 -05:00
..
Makefile xprtrdma: add separate Kconfig options for NFSoRDMA client and server support 2014-03-28 18:02:12 -04:00
rpc_rdma.c xprtrdma: Don't invalidate FRMRs if registration fails 2014-07-31 16:22:53 -04:00
svc_rdma.c net: Convert uses of typedef ctl_table to struct ctl_table 2013-06-13 02:36:09 -07:00
svc_rdma_marshal.c svcrdma: underflow issue in decode_write_list() 2013-07-15 11:46:23 -04:00
svc_rdma_recvfrom.c svcrdma: Add zero padding if the client doesn't send it 2014-07-22 16:40:21 -04:00
svc_rdma_sendto.c svcrdma: send_write() must not overflow the device's max sge 2014-07-11 15:03:48 -04:00
svc_rdma_transport.c svcrdma: advertise the correct max payload 2014-09-29 14:35:18 -04:00
transport.c xprtrdma: unmap all FMRs during transport disconnect 2014-11-25 13:39:20 -05:00
verbs.c xprtrdma: unmap all FMRs during transport disconnect 2014-11-25 13:39:20 -05:00
xprt_rdma.h xprtrdma: Cap req_cqinit 2014-11-25 13:39:20 -05:00