xprtrdma: Move fr_xprt and fr_worker to struct rpcrdma_mw
authorChuck Lever <chuck.lever@oracle.com>
Mon, 2 May 2016 18:42:29 +0000 (14:42 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Tue, 17 May 2016 19:48:02 +0000 (15:48 -0400)
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: Chuck Lever <chuck.lever@oracle.com>
Tested-by: Steve Wise <swise@opengridcomputing.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
net/sunrpc/xprtrdma/frwr_ops.c
net/sunrpc/xprtrdma/xprt_rdma.h

index 4e0a5c1abea4b9717693999c0812b58e545e251c..1251a1d4d92f9528f58e78879ef40d80e4c50635 100644 (file)
@@ -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;
index b5793cb59d5cb4d48c79278319412ce3814c83a0..97c90a8f5e01415d95f5c67fa916108f8ff1174c 100644 (file)
@@ -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;
 };
This page took 0.026759 seconds and 5 git commands to generate.