Lines Matching refs:rqst

56 static int rpcrdma_bc_marshal_reply(struct rpc_rqst *rqst)  in rpcrdma_bc_marshal_reply()  argument
58 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(rqst->rq_xprt); in rpcrdma_bc_marshal_reply()
59 struct rpcrdma_req *req = rpcr_to_rdmar(rqst); in rpcrdma_bc_marshal_reply()
64 rdmab_data(req->rl_rdmabuf), rqst); in rpcrdma_bc_marshal_reply()
69 *p++ = rqst->rq_xid; in rpcrdma_bc_marshal_reply()
78 &rqst->rq_snd_buf, rpcrdma_noch_pullup)) in rpcrdma_bc_marshal_reply()
81 trace_xprtrdma_cb_reply(r_xprt, rqst); in rpcrdma_bc_marshal_reply()
97 int xprt_rdma_bc_send_reply(struct rpc_rqst *rqst) in xprt_rdma_bc_send_reply() argument
99 struct rpc_xprt *xprt = rqst->rq_xprt; in xprt_rdma_bc_send_reply()
101 struct rpcrdma_req *req = rpcr_to_rdmar(rqst); in xprt_rdma_bc_send_reply()
107 if (!xprt_request_get_cong(xprt, rqst)) in xprt_rdma_bc_send_reply()
110 rc = rpcrdma_bc_marshal_reply(rqst); in xprt_rdma_bc_send_reply()
133 struct rpc_rqst *rqst, *tmp; in xprt_rdma_bc_destroy() local
136 list_for_each_entry_safe(rqst, tmp, &xprt->bc_pa_list, rq_bc_pa_list) { in xprt_rdma_bc_destroy()
137 list_del(&rqst->rq_bc_pa_list); in xprt_rdma_bc_destroy()
140 rpcrdma_req_destroy(rpcr_to_rdmar(rqst)); in xprt_rdma_bc_destroy()
151 void xprt_rdma_bc_free_rqst(struct rpc_rqst *rqst) in xprt_rdma_bc_free_rqst() argument
153 struct rpcrdma_req *req = rpcr_to_rdmar(rqst); in xprt_rdma_bc_free_rqst()
155 struct rpc_xprt *xprt = rqst->rq_xprt; in xprt_rdma_bc_free_rqst()
162 list_add_tail(&rqst->rq_bc_pa_list, &xprt->bc_pa_list); in xprt_rdma_bc_free_rqst()
171 struct rpc_rqst *rqst; in rpcrdma_bc_rqst_get() local
175 rqst = list_first_entry_or_null(&xprt->bc_pa_list, struct rpc_rqst, in rpcrdma_bc_rqst_get()
177 if (!rqst) in rpcrdma_bc_rqst_get()
179 list_del(&rqst->rq_bc_pa_list); in rpcrdma_bc_rqst_get()
181 return rqst; in rpcrdma_bc_rqst_get()
201 rqst = &req->rl_slot; in rpcrdma_bc_rqst_get()
202 rqst->rq_xprt = xprt; in rpcrdma_bc_rqst_get()
203 __set_bit(RPC_BC_PA_IN_USE, &rqst->rq_bc_pa_state); in rpcrdma_bc_rqst_get()
204 xdr_buf_init(&rqst->rq_snd_buf, rdmab_data(req->rl_sendbuf), size); in rpcrdma_bc_rqst_get()
205 return rqst; in rpcrdma_bc_rqst_get()
225 struct rpc_rqst *rqst; in rpcrdma_bc_receive_call() local
239 rqst = rpcrdma_bc_rqst_get(r_xprt); in rpcrdma_bc_receive_call()
240 if (!rqst) in rpcrdma_bc_receive_call()
243 rqst->rq_reply_bytes_recvd = 0; in rpcrdma_bc_receive_call()
244 rqst->rq_xid = *p; in rpcrdma_bc_receive_call()
246 rqst->rq_private_buf.len = size; in rpcrdma_bc_receive_call()
248 buf = &rqst->rq_rcv_buf; in rpcrdma_bc_receive_call()
259 req = rpcr_to_rdmar(rqst); in rpcrdma_bc_receive_call()
261 trace_xprtrdma_cb_call(r_xprt, rqst); in rpcrdma_bc_receive_call()
267 list_add(&rqst->rq_bc_list, &bc_serv->sv_cb_list); in rpcrdma_bc_receive_call()