• Linus Torvalds's avatar
    Merge tag 'statx-dioalign-for-linus' of... · 725737e7
    Linus Torvalds authored
    Merge tag 'statx-dioalign-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux
    
    Pull STATX_DIOALIGN support from Eric Biggers:
     "Make statx() support reporting direct I/O (DIO) alignment information.
    
      This provides a generic interface for userspace programs to determine
      whether a file supports DIO, and if so with what alignment
      restrictions. Specifically, STATX_DIOALIGN works on block devices, and
      on regular files when their containing filesystem has implemented
      support.
    
      An interface like this has been requested for years, since the
      conditions for when DIO is supported in Linux have gotten increasingly
      complex over time. Today, DIO support and alignment requirements can
      be affected by various filesystem features such as multi-device
      support, data journalling, inline data, encryption, verity,
      compression, checkpoint disabling, log-structured mode, etc.
    
      Further complicating things, Linux v6.0 relaxed the traditional rule
      of DIO needing to be aligned to the block device's logical block size;
      now user buffers (but not file offsets) only need to be aligned to the
      DMA alignment.
    
      The approach of uplifting the XFS specific ioctl XFS_IOC_DIOINFO was
      discarded in favor of creating a clean new interface with statx().
    
      For more information, see the individual commits and the man page
      update[1]"
    
    Link: https://lore.kernel.org/r/20220722074229.148925-1-ebiggers@kernel.org [1]
    
    * tag 'statx-dioalign-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux:
      xfs: support STATX_DIOALIGN
      f2fs: support STATX_DIOALIGN
      f2fs: simplify f2fs_force_buffered_io()
      f2fs: move f2fs_force_buffered_io() into file.c
      ext4: support STATX_DIOALIGN
      fscrypt: change fscrypt_dio_supported() to prepare for STATX_DIOALIGN
      vfs: support STATX_DIOALIGN on block devices
      statx: add direct I/O alignment information
    725737e7
inline_crypt.c 15.3 KB