Hey Linus, /* Summary */ File systems that write out of place usually require different alignment for direct I/O writes than what they can do for reads. Add a separate dio read align field to statx, as many out of place write file systems can easily do reads aligned to the device sector size, but require bigger alignment for writes. This is usually papered over by falling back to buffered I/O for smaller writes and doing read-modify-write cycles, but performance for this sucks, so applications benefit from knowing the actual write alignment. /* Testing */ gcc version 14.2.0 (Debian 14.2.0-6) Debian clang version 16.0.6 (27+b1) No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline ============================= No known conflicts. Merge conflicts with other trees ================================ No known conflicts. The following changes since commit 40384c840ea1944d7c5a392e8975ed088ecf0b37: Linux 6.13-rc1 (2024-12-01 14:28:56 -0800) are available in the Git repository at: git@xxxxxxxxxxxxxxxxxxx:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.14-rc1.statx.dio for you to fetch changes up to cf40ebb2ed9fde24195260637e00e47a6f0e7c15: Merge patch series "add STATX_DIO_READ_ALIGN v3" (2025-01-09 16:23:26 +0100) Please consider pulling these changes from the signed vfs-6.14-rc1.statx.dio tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.14-rc1.statx.dio ---------------------------------------------------------------- Christian Brauner (1): Merge patch series "add STATX_DIO_READ_ALIGN v3" Christoph Hellwig (5): fs: reformat the statx definition fs: add STATX_DIO_READ_ALIGN xfs: cleanup xfs_vn_getattr xfs: report the correct read/write dio alignment for reflinked inodes xfs: report larger dio alignment for COW inodes fs/stat.c | 1 + fs/xfs/xfs_ioctl.c | 11 +++++- fs/xfs/xfs_iops.c | 62 +++++++++++++++++------------ include/linux/stat.h | 1 + include/uapi/linux/stat.h | 99 +++++++++++++++++++++++++++++++++++------------ 5 files changed, 125 insertions(+), 49 deletions(-)