diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2016-05-02 20:42:04 +0200 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2016-05-17 21:48:01 +0200 |
commit | a3aa8b2b84a59ddd5f624aae9ee0f8b3333793e8 (patch) | |
tree | 874e240de0eb1a848f99bfb91d7ffaefdf28c05f /net/sunrpc/xprtrdma/xprt_rdma.h | |
parent | xprtrdma: Rename rpcrdma_frwr::sg and sg_nents (diff) | |
download | linux-a3aa8b2b84a59ddd5f624aae9ee0f8b3333793e8.tar.xz linux-a3aa8b2b84a59ddd5f624aae9ee0f8b3333793e8.zip |
xprtrdma: Save I/O direction in struct rpcrdma_frwr
Move the the I/O direction field from rpcrdma_mr_seg into the
rpcrdma_frmr.
This makes it possible to DMA-unmap the frwr long after an RPC has
exited and its rpcrdma_mr_seg array has been released and re-used.
This might occur if an RPC times out while waiting for a new
connection to be established.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Tested-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'net/sunrpc/xprtrdma/xprt_rdma.h')
-rw-r--r-- | net/sunrpc/xprtrdma/xprt_rdma.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sunrpc/xprtrdma/xprt_rdma.h b/net/sunrpc/xprtrdma/xprt_rdma.h index 612e3dec10ad..b5793cb59d5c 100644 --- a/net/sunrpc/xprtrdma/xprt_rdma.h +++ b/net/sunrpc/xprtrdma/xprt_rdma.h @@ -224,6 +224,7 @@ enum rpcrdma_frmr_state { struct rpcrdma_frmr { struct scatterlist *fr_sg; int fr_nents; + enum dma_data_direction fr_dir; struct ib_mr *fr_mr; struct ib_cqe fr_cqe; enum rpcrdma_frmr_state fr_state; |