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
..
2014-07-12 18:45:49 -04:00
2018-12-19 13:52:46 -05:00
2018-12-19 13:52:46 -05:00
2018-07-31 12:53:40 -04:00
2018-07-31 12:53:40 -04:00
2018-07-31 12:53:40 -04:00
2018-08-09 16:11:21 -04:00
2012-04-15 12:44:40 -04:00
2018-12-18 11:04:10 -05:00