summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/xprtrdma/xprt_rdma.h
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2017-12-14 20:56:26 -0500
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2018-01-16 11:19:43 -0500
commitc34416182f041e4107e531c6083c3df9a8af96f7 (patch)
tree8be10f4a84bf332e67a3bae69077c0c07baf8f80 /net/sunrpc/xprtrdma/xprt_rdma.h
parent42b9f5c58aa8c59c91ead0254f0c193e3438b020 (diff)
downloadlinux-c34416182f041e4107e531c6083c3df9a8af96f7.tar.bz2
xprtrdma: Per-mode handling for Remote Invalidation
Refactoring change: Remote Invalidation is particular to the memory registration mode that is use. Use a callout instead of a generic function to handle Remote Invalidation. This gets rid of the 8-byte flags field in struct rpcrdma_mw, of which only a single bit flag has been allocated. Signed-off-by: Chuck Lever <chuck.lever@oracle.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.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/net/sunrpc/xprtrdma/xprt_rdma.h b/net/sunrpc/xprtrdma/xprt_rdma.h
index 3b63e61feae2..e787dda3b0f5 100644
--- a/net/sunrpc/xprtrdma/xprt_rdma.h
+++ b/net/sunrpc/xprtrdma/xprt_rdma.h
@@ -272,7 +272,6 @@ struct rpcrdma_mw {
struct scatterlist *mw_sg;
int mw_nents;
enum dma_data_direction mw_dir;
- unsigned long mw_flags;
union {
struct rpcrdma_fmr fmr;
struct rpcrdma_frmr frmr;
@@ -284,11 +283,6 @@ struct rpcrdma_mw {
struct list_head mw_all;
};
-/* mw_flags */
-enum {
- RPCRDMA_MW_F_RI = 1,
-};
-
/*
* struct rpcrdma_req -- structure central to the request/reply sequence.
*
@@ -485,6 +479,8 @@ struct rpcrdma_memreg_ops {
(*ro_map)(struct rpcrdma_xprt *,
struct rpcrdma_mr_seg *, int, bool,
struct rpcrdma_mw **);
+ void (*ro_reminv)(struct rpcrdma_rep *rep,
+ struct list_head *mws);
void (*ro_unmap_sync)(struct rpcrdma_xprt *,
struct list_head *);
void (*ro_recover_mr)(struct rpcrdma_mw *);