• Home
  • Raw
  • Download

Lines Matching +full:data +full:- +full:addr

1 .. SPDX-License-Identifier: GPL-2.0
71 data.
78 1. Obtain a space mapping via ``->iomap_begin``
80 2. For each sub-unit of work...
89 4. Release the mapping via ``->iomap_end``, if necessary
105 -----------
127 device pre-shutdown hook from returning before other threads have
131 internal to the filesystem and must protect the file mapping data
152 ----------------
158 .. code-block:: c
161 u64 addr;
186 The ``addr`` field must be set to ``IOMAP_NULL_ADDR``.
193 ``->iomap_end`` function must delete the reservation.
194 The ``addr`` field must be set to ``IOMAP_NULL_ADDR``.
199 The device address, in bytes, is returned via ``addr``.
204 The device address, in bytes, is returned via ``addr``.
212 For write operation, the ``->iomap_end`` function presumably
213 handles persisting the data.
214 The ``addr`` field must be set to ``IOMAP_NULL_ADDR``.
217 These flags should be set by the filesystem in ``->iomap_begin``:
225 to access any data written.
232 Copy on write is necessary to avoid corrupting other file data.
242 * **IOMAP_F_XATTR**: The mapping is for extended attribute data, not
243 regular file data.
250 The filesystem should supply an ``->iomap_end`` function if it needs
257 iomap will call ``->iomap_end`` on this mapping and then
258 ``->iomap_begin`` to obtain a new mapping.
262 * ``addr`` describes the device address, in bytes.
275 * ``private`` is a pointer to `filesystem-private information
276 <https://lore.kernel.org/all/20180619164137.13720-7-hch@lst.de/>`_.
277 This value will be passed unchanged to ``->iomap_end``.
285 should not be held between ``->iomap_begin`` and ``->iomap_end``.
291 --------------------
296 .. code-block:: c
308 ``->iomap_begin``
311 iomap operations call ``->iomap_begin`` to obtain one file mapping for
321 operation-specific sections below.
329 memory-like storage.
334 This is similar in intent to ``O_NONBLOCK`` for network APIs - it is
350 then they should return ``-EAGAIN`` as early as possible rather than
356 <https://lore.kernel.org/all/20191008071527.29304-9-hch@lst.de/>`_
362 ``->iomap_end``
365 After the operation completes, the ``->iomap_end`` function, if present,
368 context that were set up in ``->iomap_begin``.
373 ``flags`` will contain the same value passed to ``->iomap_begin``.
406 ``->iomap_begin`` and ``->iomap_end`` functions to coordinate
418 coordinate access to its own internal data structures.
439 * Does iomap *actually* work for non-regular file data?