Lines Matching +full:per +full:- +full:operation
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
57 directly by the VFS/VM operation tables.
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
116 * Handle local caching, allowing cached data and server-read data to be
128 includes a mandatory method to issue a read operation along with a number of
133 ---------------------
148 Each corresponds to a VM address space operation. These operations use the
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 ----------------------
203 may or may not point to inode->i_data.
218 may be altered by the ->expand_readahead() op.
226 A pointer to the operation table. The value for this is passed into the
231 A number allocated to this operation that can be displayed in trace lines
264 network filesystem or cache should start the operation this far into the
290 ----------------------
327 Expansion is communicated by changing ->start and ->len in the request
328 structure. Note that if any change is made, ->len must be increased by at
329 least as much as ->start is reduced.
343 reading. In the subrequest, ->start, ->len and ->transferred indicate what
347 called to indicate whether or not the operation succeeded and how much data
349 uptodate, unlocking them or dropping their refs - the helpers need to deal
372 error code to abort the operation.
382 ---------------------
442 ---------------------
448 To begin a cache operation on an fscache object, the following function is
467 operation table looks like the following::
514 [Optional] Called at the beginning of a netfs_readahead() operation to allow
528 downloaded from the server or read from the cache - or whether slicing
533 [Required] Called to configure the next slice of a request. ->start and
534 ->len in the subrequest indicate where and how big the next slice can be;
558 caller is certain that no data has been written to that region - for example
581 It returns 0 if some data was found, -ENODATA if there was no usable data
582 within the region or -ENOBUFS if there is no caching on this file.
593 .. kernel-doc:: include/linux/netfs.h
594 .. kernel-doc:: fs/netfs/buffered_read.c