Lines Matching refs:head
73 rqstp->rq_arg.head[0].iov_base = page_address(page); in rdma_build_arg_xdr()
74 rqstp->rq_arg.head[0].iov_len = in rdma_build_arg_xdr()
80 bc = byte_count - rqstp->rq_arg.head[0].iov_len; in rdma_build_arg_xdr()
87 rmsgp = (struct rpcrdma_msg *)rqstp->rq_arg.head[0].iov_base; in rdma_build_arg_xdr()
121 struct svc_rdma_op_ctxt *head, in rdma_read_chunk_lcl() argument
137 ctxt->read_hdr = head; in rdma_read_chunk_lcl()
145 head->arg.pages[pg_no] = rqstp->rq_arg.pages[pg_no]; in rdma_read_chunk_lcl()
146 head->arg.page_len += len; in rdma_read_chunk_lcl()
147 head->arg.len += len; in rdma_read_chunk_lcl()
149 head->count++; in rdma_read_chunk_lcl()
154 head->arg.pages[pg_no], pg_off, in rdma_read_chunk_lcl()
214 struct svc_rdma_op_ctxt *head, in rdma_read_chunk_frmr() argument
248 head->arg.pages[pg_no] = rqstp->rq_arg.pages[pg_no]; in rdma_read_chunk_frmr()
249 head->arg.page_len += len; in rdma_read_chunk_frmr()
250 head->arg.len += len; in rdma_read_chunk_frmr()
252 head->count++; in rdma_read_chunk_frmr()
299 ctxt->read_hdr = head; in rdma_read_chunk_frmr()
371 rdma_copy_tail(struct svc_rqst *rqstp, struct svc_rdma_op_ctxt *head, in rdma_copy_tail() argument
378 srcp = head->arg.head[0].iov_base + position; in rdma_copy_tail()
379 byte_count = head->arg.head[0].iov_len - position; in rdma_copy_tail()
409 byte_count = head->arg.head[0].iov_len - position; in rdma_copy_tail()
410 head->arg.page_len += byte_count; in rdma_copy_tail()
411 head->arg.len += byte_count; in rdma_copy_tail()
412 head->arg.buflen += byte_count; in rdma_copy_tail()
419 struct svc_rdma_op_ctxt *head) in rdma_read_chunks() argument
440 head->arg.head[0] = rqstp->rq_arg.head[0]; in rdma_read_chunks()
441 head->arg.tail[0] = rqstp->rq_arg.tail[0]; in rdma_read_chunks()
442 head->hdr_count = head->count; in rdma_read_chunks()
443 head->arg.page_base = 0; in rdma_read_chunks()
444 head->arg.page_len = 0; in rdma_read_chunks()
445 head->arg.len = rqstp->rq_arg.len; in rdma_read_chunks()
446 head->arg.buflen = rqstp->rq_arg.buflen; in rdma_read_chunks()
453 head->arg.pages = &head->pages[0]; in rdma_read_chunks()
454 page_offset = head->byte_len; in rdma_read_chunks()
456 head->arg.pages = &head->pages[head->count]; in rdma_read_chunks()
473 ret = xprt->sc_reader(xprt, rqstp, head, in rdma_read_chunks()
481 head->arg.buflen += ret; in rdma_read_chunks()
489 head->arg.page_len += pad; in rdma_read_chunks()
490 head->arg.len += pad; in rdma_read_chunks()
491 head->arg.buflen += pad; in rdma_read_chunks()
496 if (position && position < head->arg.head[0].iov_len) in rdma_read_chunks()
497 ret = rdma_copy_tail(rqstp, head, position, in rdma_read_chunks()
499 head->arg.head[0].iov_len = position; in rdma_read_chunks()
500 head->position = position; in rdma_read_chunks()
512 struct svc_rdma_op_ctxt *head) in rdma_read_complete() argument
518 for (page_no = 0; page_no < head->count; page_no++) { in rdma_read_complete()
520 rqstp->rq_pages[page_no] = head->pages[page_no]; in rdma_read_complete()
524 if (head->position == 0) { in rdma_read_complete()
525 if (head->arg.len <= head->sge[0].length) { in rdma_read_complete()
526 head->arg.head[0].iov_len = head->arg.len - in rdma_read_complete()
527 head->byte_len; in rdma_read_complete()
528 head->arg.page_len = 0; in rdma_read_complete()
530 head->arg.head[0].iov_len = head->sge[0].length - in rdma_read_complete()
531 head->byte_len; in rdma_read_complete()
532 head->arg.page_len = head->arg.len - in rdma_read_complete()
533 head->sge[0].length; in rdma_read_complete()
538 rqstp->rq_arg.pages = &rqstp->rq_pages[head->hdr_count]; in rdma_read_complete()
539 rqstp->rq_arg.page_len = head->arg.page_len; in rdma_read_complete()
540 rqstp->rq_arg.page_base = head->arg.page_base; in rdma_read_complete()
547 rqstp->rq_arg.head[0] = head->arg.head[0]; in rdma_read_complete()
548 rqstp->rq_arg.tail[0] = head->arg.tail[0]; in rdma_read_complete()
549 rqstp->rq_arg.len = head->arg.len; in rdma_read_complete()
550 rqstp->rq_arg.buflen = head->arg.buflen; in rdma_read_complete()
553 svc_rdma_put_context(head, 0); in rdma_read_complete()
559 ret = rqstp->rq_arg.head[0].iov_len in rdma_read_complete()
564 ret, rqstp->rq_arg.len, rqstp->rq_arg.head[0].iov_base, in rdma_read_complete()
565 rqstp->rq_arg.head[0].iov_len); in rdma_read_complete()
646 ret = rqstp->rq_arg.head[0].iov_len in svc_rdma_recvfrom()
654 rqstp->rq_arg.head[0].iov_base, in svc_rdma_recvfrom()
655 rqstp->rq_arg.head[0].iov_len); in svc_rdma_recvfrom()