Home
last modified time | relevance | path

Searched refs:subrequests (Results 1 – 13 of 13) sorted by relevance

/linux/fs/netfs/
H A Dread_retry.c33 if (list_empty(&stream->subrequests)) in netfs_retry_read_subrequests()
44 list_for_each_entry(subreq, &stream->subrequests, rreq_link) { in netfs_retry_read_subrequests()
65 * populating with smaller subrequests. In the event that the subreq in netfs_retry_read_subrequests()
72 next = stream->subrequests.next; in netfs_retry_read_subrequests()
98 list_for_each_continue(next, &stream->subrequests) { in netfs_retry_read_subrequests()
119 list_for_each_entry_from(subreq, &stream->subrequests, rreq_link) { in netfs_retry_read_subrequests()
173 &stream->subrequests, rreq_link) { in netfs_retry_read_subrequests()
183 /* We ran out of subrequests, so we need to allocate some more in netfs_retry_read_subrequests()
234 } while (!list_is_head(next, &stream->subrequests)); in netfs_retry_read_subrequests()
238 /* If we hit an error, fail all remaining incomplete subrequests */ in netfs_retry_read_subrequests()
[all...]
H A Dwrite_retry.c24 if (list_empty(&stream->subrequests)) in netfs_retry_write_stream()
38 list_for_each_entry(subreq, &stream->subrequests, rreq_link) { in netfs_retry_write_stream()
53 next = stream->subrequests.next; in netfs_retry_write_stream()
75 list_for_each_continue(next, &stream->subrequests) { in netfs_retry_write_stream()
94 list_for_each_entry_from(subreq, &stream->subrequests, rreq_link) { in netfs_retry_write_stream()
132 &stream->subrequests, rreq_link) { in netfs_retry_write_stream()
142 /* We ran out of subrequests, so we need to allocate some more in netfs_retry_write_stream()
192 } while (!list_is_head(next, &stream->subrequests)); in netfs_retry_write_stream()
H A Dobjects.c52 INIT_LIST_HEAD(&rreq->io_streams[0].subrequests); in netfs_alloc_request()
53 INIT_LIST_HEAD(&rreq->io_streams[1].subrequests); in netfs_alloc_request()
102 while (!list_empty(&stream->subrequests)) { in netfs_clear_subrequests()
103 subreq = list_first_entry(&stream->subrequests, in netfs_clear_subrequests()
H A Ddirect_read.c72 list_add_tail(&subreq->rreq_link, &stream->subrequests); in netfs_dispatch_unbuffered_reads()
73 if (list_is_first(&subreq->rreq_link, &stream->subrequests)) { in netfs_dispatch_unbuffered_reads()
H A Dwrite_collect.c43 list_for_each_entry(sreq, &s->subrequests, rreq_link) { in netfs_dump_request()
189 * Collect and assess the results of various write subrequests. We may need to
192 * Note that we have a number of parallel, overlapping lists of subrequests,
220 /* Remove completed subrequests from the front of the streams and in netfs_collect_write_results()
279 front = list_first_entry_or_null(&stream->subrequests, in netfs_collect_write_results()
353 * Perform the collection of subrequests, folios and encryption buffers.
377 if (!list_empty(&stream->subrequests)) in netfs_write_collection()
H A Dread_collect.c178 * Collect and assess the results of various read subrequests. We may need to
181 * Note that we have a sequence of subrequests, which may be drawing on
203 /* Remove completed subrequests from the front of the stream and in netfs_collect_read_results()
300 front = list_first_entry_or_null(&stream->subrequests, in netfs_collect_read_results()
397 * Perform the collection of subrequests and folios.
415 if (!list_empty(&stream->subrequests)) in netfs_read_collection()
488 list_is_first(&subreq->rreq_link, &stream->subrequests) in netfs_read_subreq_progress()
H A Dread_single.c108 list_add_tail(&subreq->rreq_link, &stream->subrequests); in netfs_single_dispatch_read()
H A Dwrite_issue.c29 * The sequence in each stream may contain gaps and noncontiguous subrequests
208 list_add_tail(&subreq->rreq_link, &stream->subrequests); in netfs_prepare_write()
209 if (list_is_first(&subreq->rreq_link, &stream->subrequests)) { in netfs_prepare_write()
466 /* Attach the folio to one or more subrequests. For a big folio, we in netfs_write_folio()
467 * could end up with thousands of subrequests if the wsize is small - in netfs_write_folio()
468 * but we might need to wait during the creation of subrequests for in netfs_write_folio()
539 if (!list_empty(&stream->subrequests)) in netfs_end_issue_write()
795 /* Attach the folio to one or more subrequests. For a big folio, we in netfs_write_folio_single()
796 * could end up with thousands of subrequests if the wsize is small - in netfs_write_folio_single()
797 * but we might need to wait during the creation of subrequests fo in netfs_write_folio_single()
[all...]
H A Dread_pgpriv2.c65 /* Attach the folio to one or more subrequests. For a big folio, we in netfs_pgpriv2_copy_folio()
66 * could end up with thousands of subrequests if the wsize is small - in netfs_pgpriv2_copy_folio()
67 * but we might need to wait during the creation of subrequests for in netfs_pgpriv2_copy_folio()
160 if (list_empty_careful(&creq->io_streams[1].subrequests)) in netfs_pgpriv2_end_copy_to_cache()
H A Dbuffered_read.c172 list_add_tail(&subreq->rreq_link, &stream->subrequests); in netfs_queue_read()
173 if (list_is_first(&subreq->rreq_link, &stream->subrequests)) { in netfs_queue_read()
/linux/Documentation/filesystems/
H A Dnetfs_library.rst57 streams of subrequests.
59 * A *stream*. A non-overlapping series of subrequests. The subrequests
73 A read operation will have a single stream and the subrequests within that
74 stream may be of mixed origins, for instance mixing RPC subrequests and cache
75 subrequests.
83 The subrequests within a write stream do not need to match alignment or size
84 with the subrequests in another write stream and netfslib performs the tiling
85 of subrequests in each stream over the source buffer independently. Further,
89 In addition, the subrequests d
[all...]
/linux/fs/afs/
H A Dwrite.c196 list_first_entry(&stream->subrequests, in afs_retry_request()
/linux/include/linux/
H A Dnetfs.h127 * Stream of I/O subrequests going to a particular destination, such as the
142 struct list_head subrequests; /* Contributory I/O operations */ member
176 struct list_head rreq_link; /* Link in rreq->subrequests */