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