Lines Matching refs:subreq
19 static void netfs_prepare_dio_read_iterator(struct netfs_io_subrequest *subreq) in netfs_prepare_dio_read_iterator() argument
21 struct netfs_io_request *rreq = subreq->rreq; in netfs_prepare_dio_read_iterator()
24 rsize = umin(subreq->len, rreq->io_streams[0].sreq_max_len); in netfs_prepare_dio_read_iterator()
25 subreq->len = rsize; in netfs_prepare_dio_read_iterator()
32 subreq->len = limit; in netfs_prepare_dio_read_iterator()
33 trace_netfs_sreq(subreq, netfs_sreq_trace_limited); in netfs_prepare_dio_read_iterator()
37 trace_netfs_sreq(subreq, netfs_sreq_trace_prepare); in netfs_prepare_dio_read_iterator()
39 subreq->io_iter = rreq->iter; in netfs_prepare_dio_read_iterator()
40 iov_iter_truncate(&subreq->io_iter, subreq->len); in netfs_prepare_dio_read_iterator()
41 iov_iter_advance(&rreq->iter, subreq->len); in netfs_prepare_dio_read_iterator()
57 struct netfs_io_subrequest *subreq; in netfs_dispatch_unbuffered_reads() local
60 subreq = netfs_alloc_subrequest(rreq); in netfs_dispatch_unbuffered_reads()
61 if (!subreq) { in netfs_dispatch_unbuffered_reads()
66 subreq->source = NETFS_DOWNLOAD_FROM_SERVER; in netfs_dispatch_unbuffered_reads()
67 subreq->start = start; in netfs_dispatch_unbuffered_reads()
68 subreq->len = size; in netfs_dispatch_unbuffered_reads()
72 list_add_tail(&subreq->rreq_link, &rreq->subrequests); in netfs_dispatch_unbuffered_reads()
73 subreq->prev_donated = rreq->prev_donated; in netfs_dispatch_unbuffered_reads()
75 trace_netfs_sreq(subreq, netfs_sreq_trace_added); in netfs_dispatch_unbuffered_reads()
80 ret = rreq->netfs_ops->prepare_read(subreq); in netfs_dispatch_unbuffered_reads()
83 netfs_put_subrequest(subreq, false, netfs_sreq_trace_put_cancel); in netfs_dispatch_unbuffered_reads()
88 netfs_prepare_dio_read_iterator(subreq); in netfs_dispatch_unbuffered_reads()
89 slice = subreq->len; in netfs_dispatch_unbuffered_reads()
90 rreq->netfs_ops->issue_read(subreq); in netfs_dispatch_unbuffered_reads()