Lines Matching +full:blocking +full:- +full:io
1 .. SPDX-License-Identifier: GPL-2.0
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
147 constraints on IO alignment or size.
152 ----------------
158 .. code-block:: c
193 ``->iomap_end`` function must delete the reservation.
212 For write operation, the ``->iomap_end`` function presumably
217 These flags should be set by the filesystem in ``->iomap_begin``:
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.
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.
332 effort attempt to avoid any operation that would result in blocking
334 This is similar in intent to ``O_NONBLOCK`` for network APIs - it is
343 They need to avoid blocking memory allocations.
349 whether any specific ``IOMAP_NOWAIT`` operation may end up blocking,
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
438 * Strong assumptions that IO should work the way it does on XFS.
439 * Does iomap *actually* work for non-regular file data?