Lines Matching +full:start +full:- +full:up

1 .. SPDX-License-Identifier: GPL-2.0
9 - Overview.
10 - Per-inode context.
11 - Inode context helper functions.
12 - Buffered read helpers.
13 - Read helper functions.
14 - Read helper structures.
15 - Read helper operations.
16 - Read helper procedure.
17 - Read helper cache API.
33 Per-Inode Context
76 ------------------------------
78 To help deal with the per-inode context, a number helper functions are
98 The library provides a set of read helpers that handle the ->read_folio(),
99 ->readahead() and much of the ->write_begin() VM operations and translate them
108 * Allow the netfs to arbitrarily split reads up into pieces, even ones that
116 * Handle local caching, allowing cached data and server-read data to be
133 ---------------------
149 state in the per-inode context.
151 For ->readahead() and ->read_folio(), the network filesystem just point directly
152 at the corresponding read helper; whereas for ->write_begin(), it may be a
161 If an error occurs, the ->free_request() will be called to clean up the
174 the operation was asynchronous (ie. whether the follow-on processing can be
179 ----------------------
189 loff_t start;
203 may or may not point to inode->i_data.
214 * ``start``
217 The file position of the start of the read request and the length. These
218 may be altered by the ->expand_readahead() op.
222 The size of the file at the start of the request.
240 loff_t start;
255 * ``start``
258 The file position of the start of this slice of the read request and the
264 network filesystem or cache should start the operation this far into the
290 ----------------------
318 filesystem can clean up any state it has attached there.
327 The cache gets to store its state in ->cache_resources and must set a table
342 Expansion is communicated by changing ->start and ->len in the request
343 structure. Note that if any change is made, ->len must be increased by at
344 least as much as ->start is reduced.
349 subrequest. The filesystem can use this, for example, to chop up a request
358 reading. In the subrequest, ->start, ->len and ->transferred indicate what
364 uptodate, unlocking them or dropping their refs - the helpers need to deal
397 ---------------------
401 * Set up the request.
453 * The request structures will be cleaned up when everything has completed.
457 ---------------------
463 The network filesystem's ->begin_cache_operation() method is called to set up a
511 loff_t start, size_t len, size_t granularity,
525 [Required] Called to clean up the resources at the end of the read request.
533 The function is passed poiners to the start and length in its parameters,
534 plus the size of the file for reference, and adjusts the start and length
543 downloaded from the server or read from the cache - or whether slicing
544 should be given up at the current point.
548 [Required] Called to configure the next slice of a request. ->start and
549 ->len in the subrequest indicate where and how big the next slice can be;
554 [Required] Called to read from the cache. The start file offset is given
556 given a hint requesting that it seek forward from that start position for
573 caller is certain that no data has been written to that region - for example
578 [Required] Called to write to the cache. The start file offset is given
590 particular region of the cache. The start and length of the region to be
592 to be aligned. The function passes back the start and length of the data,
596 It returns 0 if some data was found, -ENODATA if there was no usable data
597 within the region or -ENOBUFS if there is no caching on this file.
608 .. kernel-doc:: include/linux/netfs.h
609 .. kernel-doc:: fs/netfs/buffered_read.c
610 .. kernel-doc:: fs/netfs/io.c