Commit 766656b0 authored by Chuck Lever's avatar Chuck Lever Committed by Anna Schumaker

xprtrdma: Move fr_xprt and fr_worker to struct rpcrdma_mw

In a subsequent patch, the fr_xprt and fr_worker fields will be
needed by another memory registration mode. Move them into the
generic rpcrdma_mw structure that wraps struct rpcrdma_frmr.
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Tested-by: default avatarSteve Wise <swise@opengridcomputing.com>
Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent 660bb497
...@@ -150,9 +150,9 @@ static void ...@@ -150,9 +150,9 @@ static void
__frwr_recovery_worker(struct work_struct *work) __frwr_recovery_worker(struct work_struct *work)
{ {
struct rpcrdma_mw *r = container_of(work, struct rpcrdma_mw, struct rpcrdma_mw *r = container_of(work, struct rpcrdma_mw,
frmr.fr_work); mw_work);
__frwr_reset_and_unmap(r->frmr.fr_xprt, r); __frwr_reset_and_unmap(r->mw_xprt, r);
return; return;
} }
...@@ -162,8 +162,8 @@ __frwr_recovery_worker(struct work_struct *work) ...@@ -162,8 +162,8 @@ __frwr_recovery_worker(struct work_struct *work)
static void static void
__frwr_queue_recovery(struct rpcrdma_mw *r) __frwr_queue_recovery(struct rpcrdma_mw *r)
{ {
INIT_WORK(&r->frmr.fr_work, __frwr_recovery_worker); INIT_WORK(&r->mw_work, __frwr_recovery_worker);
queue_work(frwr_recovery_wq, &r->frmr.fr_work); queue_work(frwr_recovery_wq, &r->mw_work);
} }
static int static int
...@@ -378,9 +378,9 @@ frwr_op_init(struct rpcrdma_xprt *r_xprt) ...@@ -378,9 +378,9 @@ frwr_op_init(struct rpcrdma_xprt *r_xprt)
return rc; return rc;
} }
r->mw_xprt = r_xprt;
list_add(&r->mw_list, &buf->rb_mws); list_add(&r->mw_list, &buf->rb_mws);
list_add(&r->mw_all, &buf->rb_all); list_add(&r->mw_all, &buf->rb_all);
r->frmr.fr_xprt = r_xprt;
} }
return 0; return 0;
......
...@@ -229,8 +229,6 @@ struct rpcrdma_frmr { ...@@ -229,8 +229,6 @@ struct rpcrdma_frmr {
struct ib_cqe fr_cqe; struct ib_cqe fr_cqe;
enum rpcrdma_frmr_state fr_state; enum rpcrdma_frmr_state fr_state;
struct completion fr_linv_done; struct completion fr_linv_done;
struct work_struct fr_work;
struct rpcrdma_xprt *fr_xprt;
union { union {
struct ib_reg_wr fr_regwr; struct ib_reg_wr fr_regwr;
struct ib_send_wr fr_invwr; struct ib_send_wr fr_invwr;
...@@ -247,6 +245,8 @@ struct rpcrdma_mw { ...@@ -247,6 +245,8 @@ struct rpcrdma_mw {
struct rpcrdma_fmr fmr; struct rpcrdma_fmr fmr;
struct rpcrdma_frmr frmr; struct rpcrdma_frmr frmr;
}; };
struct work_struct mw_work;
struct rpcrdma_xprt *mw_xprt;
struct list_head mw_list; struct list_head mw_list;
struct list_head mw_all; struct list_head mw_all;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment