diff options
author | Tom Talpey <talpey@netapp.com> | 2008-10-09 14:59:59 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-10-10 15:09:24 -0400 |
commit | fe9053b30bb48b99f7b45541249f5cfe96bdf7f7 (patch) | |
tree | 41904e855b60678ae8788e68e8a5944d686b31e3 | |
parent | 8d4ba0347ccfea4f12e56e2484954b891411b74d (diff) |
RPC/RDMA: add data types and new FRMR memory registration enum.
Internal RPC/RDMA structure updates in preparation for FRMR support.
Signed-off-by: Tom Talpey <talpey@netapp.com>
Acked-by: Tom Tucker <tom@opengridcomputing.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r-- | include/linux/sunrpc/xprtrdma.h | 1 | ||||
-rw-r--r-- | net/sunrpc/xprtrdma/xprt_rdma.h | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/include/linux/sunrpc/xprtrdma.h b/include/linux/sunrpc/xprtrdma.h index 4de56b1d372b..55a5d92ca1e2 100644 --- a/include/linux/sunrpc/xprtrdma.h +++ b/include/linux/sunrpc/xprtrdma.h | |||
@@ -78,6 +78,7 @@ enum rpcrdma_memreg { | |||
78 | RPCRDMA_MEMWINDOWS, | 78 | RPCRDMA_MEMWINDOWS, |
79 | RPCRDMA_MEMWINDOWS_ASYNC, | 79 | RPCRDMA_MEMWINDOWS_ASYNC, |
80 | RPCRDMA_MTHCAFMR, | 80 | RPCRDMA_MTHCAFMR, |
81 | RPCRDMA_FRMR, | ||
81 | RPCRDMA_ALLPHYSICAL, | 82 | RPCRDMA_ALLPHYSICAL, |
82 | RPCRDMA_LAST | 83 | RPCRDMA_LAST |
83 | }; | 84 | }; |
diff --git a/net/sunrpc/xprtrdma/xprt_rdma.h b/net/sunrpc/xprtrdma/xprt_rdma.h index 2427822f8bd4..05b7898e1f4b 100644 --- a/net/sunrpc/xprtrdma/xprt_rdma.h +++ b/net/sunrpc/xprtrdma/xprt_rdma.h | |||
@@ -58,6 +58,8 @@ struct rpcrdma_ia { | |||
58 | struct rdma_cm_id *ri_id; | 58 | struct rdma_cm_id *ri_id; |
59 | struct ib_pd *ri_pd; | 59 | struct ib_pd *ri_pd; |
60 | struct ib_mr *ri_bind_mem; | 60 | struct ib_mr *ri_bind_mem; |
61 | u32 ri_dma_lkey; | ||
62 | int ri_have_dma_lkey; | ||
61 | struct completion ri_done; | 63 | struct completion ri_done; |
62 | int ri_async_rc; | 64 | int ri_async_rc; |
63 | enum rpcrdma_memreg ri_memreg_strategy; | 65 | enum rpcrdma_memreg ri_memreg_strategy; |
@@ -156,6 +158,10 @@ struct rpcrdma_mr_seg { /* chunk descriptors */ | |||
156 | union { | 158 | union { |
157 | struct ib_mw *mw; | 159 | struct ib_mw *mw; |
158 | struct ib_fmr *fmr; | 160 | struct ib_fmr *fmr; |
161 | struct { | ||
162 | struct ib_fast_reg_page_list *fr_pgl; | ||
163 | struct ib_mr *fr_mr; | ||
164 | } frmr; | ||
159 | } r; | 165 | } r; |
160 | struct list_head mw_list; | 166 | struct list_head mw_list; |
161 | } *rl_mw; | 167 | } *rl_mw; |
@@ -198,7 +204,7 @@ struct rpcrdma_buffer { | |||
198 | atomic_t rb_credits; /* most recent server credits */ | 204 | atomic_t rb_credits; /* most recent server credits */ |
199 | unsigned long rb_cwndscale; /* cached framework rpc_cwndscale */ | 205 | unsigned long rb_cwndscale; /* cached framework rpc_cwndscale */ |
200 | int rb_max_requests;/* client max requests */ | 206 | int rb_max_requests;/* client max requests */ |
201 | struct list_head rb_mws; /* optional memory windows/fmrs */ | 207 | struct list_head rb_mws; /* optional memory windows/fmrs/frmrs */ |
202 | int rb_send_index; | 208 | int rb_send_index; |
203 | struct rpcrdma_req **rb_send_bufs; | 209 | struct rpcrdma_req **rb_send_bufs; |
204 | int rb_recv_index; | 210 | int rb_recv_index; |