Lines Matching defs:rqstp
87 * from rqstp::rq_pages into ctxt::pages. The consumed elements of
237 * @rqstp: svc_rqst being released
243 void svc_rdma_release_rqst(struct svc_rqst *rqstp)
245 struct svc_rdma_recv_ctxt *ctxt = rqstp->rq_xprt_ctxt;
246 struct svc_xprt *xprt = rqstp->rq_xprt;
250 rqstp->rq_xprt_ctxt = NULL;
373 static void svc_rdma_build_arg_xdr(struct svc_rqst *rqstp,
376 struct xdr_buf *arg = &rqstp->rq_arg;
692 static void rdma_read_complete(struct svc_rqst *rqstp,
697 /* Move Read chunk pages to rqstp so that they will be released
701 put_page(rqstp->rq_pages[page_no]);
702 rqstp->rq_pages[page_no] = head->rc_pages[page_no];
707 rqstp->rq_arg.pages = &rqstp->rq_pages[head->rc_hdr_count];
708 rqstp->rq_arg.page_len = head->rc_arg.page_len;
711 rqstp->rq_respages = &rqstp->rq_pages[page_no];
712 rqstp->rq_next_page = rqstp->rq_respages + 1;
715 rqstp->rq_arg.head[0] = head->rc_arg.head[0];
716 rqstp->rq_arg.tail[0] = head->rc_arg.tail[0];
717 rqstp->rq_arg.len = head->rc_arg.len;
718 rqstp->rq_arg.buflen = head->rc_arg.buflen;
769 * @rqstp: request structure into which to receive an RPC Call
797 int svc_rdma_recvfrom(struct svc_rqst *rqstp)
799 struct svc_xprt *xprt = rqstp->rq_xprt;
806 rqstp->rq_xprt_ctxt = NULL;
813 rdma_read_complete(rqstp, ctxt);
828 svc_rdma_build_arg_xdr(rqstp, ctxt);
833 rqstp->rq_respages = rqstp->rq_pages;
834 rqstp->rq_next_page = rqstp->rq_respages;
836 p = (__be32 *)rqstp->rq_arg.head[0].iov_base;
837 ret = svc_rdma_xdr_decode_req(&rqstp->rq_arg, ctxt);
842 rqstp->rq_xprt_hlen = ret;
854 rqstp->rq_xprt_ctxt = ctxt;
855 rqstp->rq_prot = IPPROTO_MAX;
856 svc_xprt_copy_addrs(rqstp, xprt);
857 return rqstp->rq_arg.len;
860 ret = svc_rdma_recv_read_chunk(rdma_xprt, rqstp, ctxt, p);
877 svc_rdma_handle_bc_reply(rqstp, ctxt);