linux/net/sunrpc/xprtrdma
Chuck Lever e2f34e2671 xprtrdma: Yet another double DMA-unmap
While chasing yet another set of DMAR fault reports, I noticed that
the frwr recycler conflates whether or not an MR has been DMA
unmapped with frwr->fr_state. Actually the two have only an indirect
relationship. It's in fact impossible to guess reliably whether the
MR has been DMA unmapped based on its fr_state field, especially as
the surrounding code and its assumptions have changed over time.

A better approach is to track the DMA mapping status explicitly so
that the recycler is less brittle to unexpected situations, and
attempts to DMA-unmap a second time are prevented.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Cc: stable@vger.kernel.org # v4.20
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2019-01-02 12:05:16 -05:00
..
backchannel.c NFS RDMA client updates for Linux 4.20 2018-10-18 17:29:00 -04:00
fmr_ops.c xprtrdma: Name MR trace events consistently 2018-10-02 15:55:36 -04:00
frwr_ops.c xprtrdma: Yet another double DMA-unmap 2019-01-02 12:05:16 -05:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
module.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
rpc_rdma.c NFS RDMA client updates for Linux 4.20 2018-10-18 17:29:00 -04:00
svc_rdma_backchannel.c Olga added support for the NFSv4.2 asynchronous copy protocol. We 2018-10-30 13:03:29 -07:00
svc_rdma_recvfrom.c A mistake on my part caused me to tag my branch 6 commits too early, 2018-08-23 16:00:10 -07:00
svc_rdma_rw.c A mistake on my part caused me to tag my branch 6 commits too early, 2018-08-23 16:00:10 -07:00
svc_rdma_sendto.c A mistake on my part caused me to tag my branch 6 commits too early, 2018-08-23 16:00:10 -07:00
svc_rdma_transport.c svcrdma: Reduce max_send_sges 2018-10-29 16:58:04 -04:00
svc_rdma.c sunrpc: remove redundant variables 'checksumlen','blocksize' and 'data' 2018-08-09 16:11:21 -04:00
transport.c NFS RDMA client updates for Linux 4.20 2018-10-18 17:29:00 -04:00
verbs.c xprtrdma: Yet another double DMA-unmap 2019-01-02 12:05:16 -05:00
xprt_rdma.h xprtrdma: Simplify RPC wake-ups on connect 2018-10-03 08:58:41 -04:00