Lines Matching defs:rctxt

412  *       %true: Read list is valid. @rctxt's xdr_stream is updated
414 * %false: Read list is corrupt. @rctxt's xdr_stream is left
417 static bool xdr_check_read_list(struct svc_rdma_recv_ctxt *rctxt)
423 p = xdr_inline_decode(&rctxt->rc_stream, sizeof(*p));
430 p = xdr_inline_decode(&rctxt->rc_stream,
444 p = xdr_inline_decode(&rctxt->rc_stream, sizeof(*p));
456 static bool xdr_check_write_chunk(struct svc_rdma_recv_ctxt *rctxt, u32 maxlen)
461 p = xdr_inline_decode(&rctxt->rc_stream, sizeof(*p));
471 p = xdr_inline_decode(&rctxt->rc_stream,
494 * %true: Write list is valid. @rctxt's xdr_stream is updated
496 * %false: Write list is corrupt. @rctxt's xdr_stream is left
499 static bool xdr_check_write_list(struct svc_rdma_recv_ctxt *rctxt)
504 p = xdr_inline_decode(&rctxt->rc_stream, sizeof(*p));
507 rctxt->rc_write_list = p;
509 if (!xdr_check_write_chunk(rctxt, MAX_BYTES_WRITE_CHUNK))
512 p = xdr_inline_decode(&rctxt->rc_stream, sizeof(*p));
517 rctxt->rc_write_list = NULL;
528 * %true: Reply chunk is valid. @rctxt's xdr_stream is updated
530 * %false: Reply chunk is corrupt. @rctxt's xdr_stream is left
533 static bool xdr_check_reply_chunk(struct svc_rdma_recv_ctxt *rctxt)
537 p = xdr_inline_decode(&rctxt->rc_stream, sizeof(*p));
540 rctxt->rc_reply_chunk = NULL;
542 if (!xdr_check_write_chunk(rctxt, MAX_BYTES_SPECIAL_CHUNK))
544 rctxt->rc_reply_chunk = p;
614 * @rctxt: state of decoding
628 struct svc_rdma_recv_ctxt *rctxt)
634 xdr_init_decode(&rctxt->rc_stream, rq_arg, rdma_argp, NULL);
636 p = xdr_inline_decode(&rctxt->rc_stream,
657 if (!xdr_check_read_list(rctxt))
659 if (!xdr_check_write_list(rctxt))
661 if (!xdr_check_reply_chunk(rctxt))
664 rq_arg->head[0].iov_base = rctxt->rc_stream.p;
665 hdr_len = xdr_stream_pos(&rctxt->rc_stream);
668 trace_svcrdma_decode_rqst(rctxt, rdma_argp, hdr_len);
672 trace_svcrdma_decode_short_err(rctxt, rq_arg->len);
676 trace_svcrdma_decode_badvers_err(rctxt, rdma_argp);
680 trace_svcrdma_decode_drop_err(rctxt, rdma_argp);
684 trace_svcrdma_decode_badproc_err(rctxt, rdma_argp);
688 trace_svcrdma_decode_parse_err(rctxt, rdma_argp);
722 struct svc_rdma_recv_ctxt *rctxt,
730 svc_rdma_send_error_msg(rdma, sctxt, rctxt, status);