Lines Matching defs:rqst

60 static int rpcrdma_bc_marshal_reply(struct rpc_rqst *rqst)
62 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(rqst->rq_xprt);
63 struct rpcrdma_req *req = rpcr_to_rdmar(rqst);
68 rdmab_data(req->rl_rdmabuf), rqst);
73 *p++ = rqst->rq_xid;
82 &rqst->rq_snd_buf, rpcrdma_noch_pullup))
85 trace_xprtrdma_cb_reply(rqst);
91 * @rqst: RPC rqst with a backchannel RPC reply in rq_snd_buf
101 int xprt_rdma_bc_send_reply(struct rpc_rqst *rqst)
103 struct rpc_xprt *xprt = rqst->rq_xprt;
105 struct rpcrdma_req *req = rpcr_to_rdmar(rqst);
111 if (!xprt_request_get_cong(xprt, rqst))
114 rc = rpcrdma_bc_marshal_reply(rqst);
137 struct rpc_rqst *rqst, *tmp;
140 list_for_each_entry_safe(rqst, tmp, &xprt->bc_pa_list, rq_bc_pa_list) {
141 list_del(&rqst->rq_bc_pa_list);
144 rpcrdma_req_destroy(rpcr_to_rdmar(rqst));
152 * xprt_rdma_bc_free_rqst - Release a backchannel rqst
153 * @rqst: request to release
155 void xprt_rdma_bc_free_rqst(struct rpc_rqst *rqst)
157 struct rpcrdma_req *req = rpcr_to_rdmar(rqst);
158 struct rpc_xprt *xprt = rqst->rq_xprt;
164 list_add_tail(&rqst->rq_bc_pa_list, &xprt->bc_pa_list);
173 struct rpc_rqst *rqst;
177 rqst = list_first_entry_or_null(&xprt->bc_pa_list, struct rpc_rqst,
179 if (!rqst)
181 list_del(&rqst->rq_bc_pa_list);
183 return rqst;
203 rqst = &req->rl_slot;
204 rqst->rq_xprt = xprt;
205 __set_bit(RPC_BC_PA_IN_USE, &rqst->rq_bc_pa_state);
206 xdr_buf_init(&rqst->rq_snd_buf, rdmab_data(req->rl_sendbuf), size);
207 return rqst;
227 struct rpc_rqst *rqst;
241 rqst = rpcrdma_bc_rqst_get(r_xprt);
242 if (!rqst)
245 rqst->rq_reply_bytes_recvd = 0;
246 rqst->rq_xid = *p;
248 rqst->rq_private_buf.len = size;
250 buf = &rqst->rq_rcv_buf;
261 req = rpcr_to_rdmar(rqst);
263 trace_xprtrdma_cb_call(rqst);
265 /* Queue rqst for ULP's callback service */
269 list_add(&rqst->rq_bc_list, &bc_serv->sv_cb_list);