[PATCH 0/6] ext4: Add atomic write support for DIO

Ritesh Harjani (IBM) posted 6 patches 1 month ago
fs/ext4/ext4.h       | 14 +++++++++++++-
fs/ext4/file.c       | 27 ++++++++++++++++++++++++++-
fs/ext4/inode.c      | 27 +++++++++++++++++++++++++++
fs/ext4/super.c      | 37 +++++++++++++++++++++++++++++++++++++
fs/iomap/direct-io.c |  2 +-
5 files changed, 104 insertions(+), 3 deletions(-)
[PATCH 0/6] ext4: Add atomic write support for DIO
Posted by Ritesh Harjani (IBM) 1 month ago
This series adds the base feature support to enable atomic writes in
direct-io path for ext4. We advertise the minimum and the maximum atomic
write unit sizes via statx on a regular file.

This series allows users to utilize atomic write support using -
1. on bs < ps systems via - mkfs.ext4 -F -b 16384 /dev/sda
2. on bs = ps systems via bigalloc - mkfs.ext4 -O bigalloc -F -b 4096 -C 65536 /dev/sda

This can then be utilized using -
	xfs_io -fdc "pwrite -V 1 -A -b16k 0 16k" /mnt/f1

This is built on top of John's DIO atomic write series for XFS [1].
The VFS and block layer enablement for atomic writes were merged already.

[1]: https://lore.kernel.org/linux-xfs/20241019125113.369994-1-john.g.garry@oracle.com/

RFC -> PATCH:
- Dropped RFC tag
- Last RFC was posted a while ago but back then a lot of VFS and block layer
  interfaces were still not merged. Those are now merged, thanks to John and
  everyone else.
- [RFC] - https://lore.kernel.org/linux-ext4/cover.1709356594.git.ritesh.list@gmail.com/

Ritesh Harjani (IBM) (6):
  ext4: Add statx support for atomic writes
  ext4: Check for atomic writes support in write iter
  ext4: Support setting FMODE_CAN_ATOMIC_WRITE
  ext4: Warn if we ever fallback to buffered-io for DIO atomic writes
  iomap: Lift blocksize restriction on atomic writes
  ext4: Add atomic write support for bigalloc

 fs/ext4/ext4.h       | 14 +++++++++++++-
 fs/ext4/file.c       | 27 ++++++++++++++++++++++++++-
 fs/ext4/inode.c      | 27 +++++++++++++++++++++++++++
 fs/ext4/super.c      | 37 +++++++++++++++++++++++++++++++++++++
 fs/iomap/direct-io.c |  2 +-
 5 files changed, 104 insertions(+), 3 deletions(-)

--
2.46.0