Lines Matching refs:rqstp

87  * from rqstp::rq_pages into ctxt::pages. The consumed elements of
235 * @vctxt: the context from rqstp->rq_xprt_ctxt or dr->xprt_ctxt
397 static void svc_rdma_build_arg_xdr(struct svc_rqst *rqstp,
400 struct xdr_buf *arg = &rqstp->rq_arg;
778 /* Finish constructing the RPC Call message in rqstp::rq_arg.
784 static void svc_rdma_read_complete_one(struct svc_rqst *rqstp,
788 struct xdr_buf *buf = &rqstp->rq_arg;
809 buf->pages = &rqstp->rq_pages[0];
816 /* Finish constructing the RPC Call message in rqstp::rq_arg.
821 static void svc_rdma_read_complete_multiple(struct svc_rqst *rqstp,
824 struct xdr_buf *buf = &rqstp->rq_arg;
829 buf->head[0].iov_base = page_address(rqstp->rq_pages[0]);
831 buf->pages = &rqstp->rq_pages[1];
835 /* Finish constructing the RPC Call message in rqstp::rq_arg.
840 static void svc_rdma_read_complete_pzrc(struct svc_rqst *rqstp,
843 struct xdr_buf *buf = &rqstp->rq_arg;
848 buf->head[0].iov_base = page_address(rqstp->rq_pages[0]);
850 buf->pages = &rqstp->rq_pages[1];
854 static noinline void svc_rdma_read_complete(struct svc_rqst *rqstp,
859 /* Transfer the Read chunk pages into @rqstp.rq_pages, replacing
860 * the rq_pages that were already allocated for this rqstp.
862 release_pages(rqstp->rq_respages, ctxt->rc_page_count);
864 rqstp->rq_pages[i] = ctxt->rc_pages[i];
866 /* Update @rqstp's result send buffer to start after the
869 rqstp->rq_respages = &rqstp->rq_pages[ctxt->rc_page_count];
870 rqstp->rq_next_page = rqstp->rq_respages + 1;
881 rqstp->rq_arg = ctxt->rc_saved_arg;
884 svc_rdma_read_complete_one(rqstp, ctxt);
886 svc_rdma_read_complete_multiple(rqstp, ctxt);
888 svc_rdma_read_complete_pzrc(rqstp, ctxt);
896 * @rqstp: request structure into which to receive an RPC Call
922 int svc_rdma_recvfrom(struct svc_rqst *rqstp)
924 struct svc_xprt *xprt = rqstp->rq_xprt;
933 rqstp->rq_respages = rqstp->rq_pages;
934 rqstp->rq_next_page = rqstp->rq_respages;
936 rqstp->rq_xprt_ctxt = NULL;
944 svc_rdma_read_complete(rqstp, ctxt);
964 svc_rdma_build_arg_xdr(rqstp, ctxt);
966 ret = svc_rdma_xdr_decode_req(&rqstp->rq_arg, ctxt);
982 rqstp->rq_xprt_ctxt = ctxt;
983 rqstp->rq_prot = IPPROTO_MAX;
984 svc_xprt_copy_addrs(rqstp, xprt);
985 set_bit(RQ_SECURE, &rqstp->rq_flags);
986 return rqstp->rq_arg.len;
994 /* This @rqstp is about to be recycled. Save the work
999 ctxt->rc_saved_arg = rqstp->rq_arg;
1001 ret = svc_rdma_process_read_list(rdma_xprt, rqstp, ctxt);
1012 svc_rdma_handle_bc_reply(rqstp, ctxt);