Unverified Commit 336bac5e authored by Ritesh Harjani (IBM)'s avatar Ritesh Harjani (IBM) Committed by Christian Brauner
Browse files

Documentation: iomap: Add missing flags description



Let's document the use of these flags in iomap design doc where other
flags are defined too -

- IOMAP_F_BOUNDARY was added by XFS to prevent merging of I/O and I/O
  completions across RTG boundaries.
- IOMAP_F_ATOMIC_BIO was added for supporting atomic I/O operations
  for filesystems to inform the iomap that it needs HW-offload based
  mechanism for torn-write protection.

While we are at it, let's also fix the description of IOMAP_F_PRIVATE
flag after a recent:
commit 923936ef ("iomap: Fix conflicting values of iomap flags")

Signed-off-by: default avatar"Ritesh Harjani (IBM)" <ritesh.list@gmail.com>
Link: https://lore.kernel.org/8d8534a704c4f162f347a84830710db32a927b2e.1744432270.git.ritesh.list@gmail.com


Reviewed-by: default avatar"Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 0af2f6be
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -243,13 +243,25 @@ The fields are as follows:
     regular file data.
     This is only useful for FIEMAP.

   * **IOMAP_F_PRIVATE**: Starting with this value, the upper bits can
     be set by the filesystem for its own purposes.
   * **IOMAP_F_BOUNDARY**: This indicates I/O and its completion must not be
     merged with any other I/O or completion. Filesystems must use this when
     submitting I/O to devices that cannot handle I/O crossing certain LBAs
     (e.g. ZNS devices). This flag applies only to buffered I/O writeback; all
     other functions ignore it.

   * **IOMAP_F_PRIVATE**: This flag is reserved for filesystem private use.

   * **IOMAP_F_ANON_WRITE**: Indicates that (write) I/O does not have a target
     block assigned to it yet and the file system will do that in the bio
     submission handler, splitting the I/O as needed.

   * **IOMAP_F_ATOMIC_BIO**: This indicates write I/O must be submitted with the
     ``REQ_ATOMIC`` flag set in the bio. Filesystems need to set this flag to
     inform iomap that the write I/O operation requires torn-write protection
     based on HW-offload mechanism. They must also ensure that mapping updates
     upon the completion of the I/O must be performed in a single metadata
     update.

   These flags can be set by iomap itself during file operations.
   The filesystem should supply an ``->iomap_end`` function if it needs
   to observe these flags: