Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -150,9 +150,9 @@ static void
__frwr_recovery_worker(struct work_struct *work)
{
	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;
}

@@ -162,8 +162,8 @@ __frwr_recovery_worker(struct work_struct *work)
static void
__frwr_queue_recovery(struct rpcrdma_mw *r)
{
	INIT_WORK(&r->frmr.fr_work, __frwr_recovery_worker);
	queue_work(frwr_recovery_wq, &r->frmr.fr_work);
	INIT_WORK(&r->mw_work, __frwr_recovery_worker);
	queue_work(frwr_recovery_wq, &r->mw_work);
}

static int
@@ -378,9 +378,9 @@ frwr_op_init(struct rpcrdma_xprt *r_xprt)
			return rc;
		}

		r->mw_xprt = r_xprt;
		list_add(&r->mw_list, &buf->rb_mws);
		list_add(&r->mw_all, &buf->rb_all);
		r->frmr.fr_xprt = r_xprt;
	}

	return 0;
+2 −2
Original line number Diff line number Diff line
@@ -229,8 +229,6 @@ struct rpcrdma_frmr {
	struct ib_cqe			fr_cqe;
	enum rpcrdma_frmr_state		fr_state;
	struct completion		fr_linv_done;
	struct work_struct		fr_work;
	struct rpcrdma_xprt		*fr_xprt;
	union {
		struct ib_reg_wr	fr_regwr;
		struct ib_send_wr	fr_invwr;
@@ -247,6 +245,8 @@ struct rpcrdma_mw {
		struct rpcrdma_fmr	fmr;
		struct rpcrdma_frmr	frmr;
	};
	struct work_struct	mw_work;
	struct rpcrdma_xprt	*mw_xprt;
	struct list_head	mw_list;
	struct list_head	mw_all;
};