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>
This commit is contained in:

committed by
Anna Schumaker

parent
42b9f5c58a
commit
c34416182f
@@ -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 *);
|
||||
|
Reference in New Issue
Block a user