diff options
Diffstat (limited to 'include/linux/sunrpc/svc_rdma.h')
-rw-r--r-- | include/linux/sunrpc/svc_rdma.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/include/linux/sunrpc/svc_rdma.h b/include/linux/sunrpc/svc_rdma.h index 975da754c778..df8edf8ec914 100644 --- a/include/linux/sunrpc/svc_rdma.h +++ b/include/linux/sunrpc/svc_rdma.h | |||
@@ -63,8 +63,6 @@ extern atomic_t rdma_stat_rq_prod; | |||
63 | extern atomic_t rdma_stat_sq_poll; | 63 | extern atomic_t rdma_stat_sq_poll; |
64 | extern atomic_t rdma_stat_sq_prod; | 64 | extern atomic_t rdma_stat_sq_prod; |
65 | 65 | ||
66 | #define RPCRDMA_VERSION 1 | ||
67 | |||
68 | /* | 66 | /* |
69 | * Contexts are built when an RDMA request is created and are a | 67 | * Contexts are built when an RDMA request is created and are a |
70 | * record of the resources that can be recovered when the request | 68 | * record of the resources that can be recovered when the request |
@@ -79,6 +77,7 @@ struct svc_rdma_op_ctxt { | |||
79 | enum ib_wr_opcode wr_op; | 77 | enum ib_wr_opcode wr_op; |
80 | enum ib_wc_status wc_status; | 78 | enum ib_wc_status wc_status; |
81 | u32 byte_len; | 79 | u32 byte_len; |
80 | u32 position; | ||
82 | struct svcxprt_rdma *xprt; | 81 | struct svcxprt_rdma *xprt; |
83 | unsigned long flags; | 82 | unsigned long flags; |
84 | enum dma_data_direction direction; | 83 | enum dma_data_direction direction; |
@@ -150,6 +149,10 @@ struct svcxprt_rdma { | |||
150 | struct ib_cq *sc_rq_cq; | 149 | struct ib_cq *sc_rq_cq; |
151 | struct ib_cq *sc_sq_cq; | 150 | struct ib_cq *sc_sq_cq; |
152 | struct ib_mr *sc_phys_mr; /* MR for server memory */ | 151 | struct ib_mr *sc_phys_mr; /* MR for server memory */ |
152 | int (*sc_reader)(struct svcxprt_rdma *, | ||
153 | struct svc_rqst *, | ||
154 | struct svc_rdma_op_ctxt *, | ||
155 | int *, u32 *, u32, u32, u64, bool); | ||
153 | u32 sc_dev_caps; /* distilled device caps */ | 156 | u32 sc_dev_caps; /* distilled device caps */ |
154 | u32 sc_dma_lkey; /* local dma key */ | 157 | u32 sc_dma_lkey; /* local dma key */ |
155 | unsigned int sc_frmr_pg_list_len; | 158 | unsigned int sc_frmr_pg_list_len; |
@@ -178,8 +181,6 @@ struct svcxprt_rdma { | |||
178 | #define RPCRDMA_MAX_REQ_SIZE 4096 | 181 | #define RPCRDMA_MAX_REQ_SIZE 4096 |
179 | 182 | ||
180 | /* svc_rdma_marshal.c */ | 183 | /* svc_rdma_marshal.c */ |
181 | extern void svc_rdma_rcl_chunk_counts(struct rpcrdma_read_chunk *, | ||
182 | int *, int *); | ||
183 | extern int svc_rdma_xdr_decode_req(struct rpcrdma_msg **, struct svc_rqst *); | 184 | extern int svc_rdma_xdr_decode_req(struct rpcrdma_msg **, struct svc_rqst *); |
184 | extern int svc_rdma_xdr_decode_deferred_req(struct svc_rqst *); | 185 | extern int svc_rdma_xdr_decode_deferred_req(struct svc_rqst *); |
185 | extern int svc_rdma_xdr_encode_error(struct svcxprt_rdma *, | 186 | extern int svc_rdma_xdr_encode_error(struct svcxprt_rdma *, |
@@ -197,6 +198,12 @@ extern int svc_rdma_xdr_get_reply_hdr_len(struct rpcrdma_msg *); | |||
197 | 198 | ||
198 | /* svc_rdma_recvfrom.c */ | 199 | /* svc_rdma_recvfrom.c */ |
199 | extern int svc_rdma_recvfrom(struct svc_rqst *); | 200 | extern int svc_rdma_recvfrom(struct svc_rqst *); |
201 | extern int rdma_read_chunk_lcl(struct svcxprt_rdma *, struct svc_rqst *, | ||
202 | struct svc_rdma_op_ctxt *, int *, u32 *, | ||
203 | u32, u32, u64, bool); | ||
204 | extern int rdma_read_chunk_frmr(struct svcxprt_rdma *, struct svc_rqst *, | ||
205 | struct svc_rdma_op_ctxt *, int *, u32 *, | ||
206 | u32, u32, u64, bool); | ||
200 | 207 | ||
201 | /* svc_rdma_sendto.c */ | 208 | /* svc_rdma_sendto.c */ |
202 | extern int svc_rdma_sendto(struct svc_rqst *); | 209 | extern int svc_rdma_sendto(struct svc_rqst *); |