This series expands atomic write support to filesystems, specifically
XFS.
Initially we will only support writing exactly 1x FS block atomically.
Since we can now have FS block size > PAGE_SIZE for XFS, we can write
atomically 4K+ blocks on x86.
John Garry (8):
block/fs: Pass an iocb to generic_atomic_write_valid()
fs/block: Check for IOCB_DIRECT in generic_atomic_write_valid()
block: Add bdev atomic write limits helpers
fs: Export generic_atomic_write_valid()
fs: iomap: Atomic write support
xfs: Support atomic write for statx
xfs: Validate atomic writes
xfs: Support setting FMODE_CAN_ATOMIC_WRITE
.../filesystems/iomap/operations.rst | 11 ++++++
block/fops.c | 22 ++++++-----
fs/iomap/direct-io.c | 38 +++++++++++++++++--
fs/iomap/trace.h | 3 +-
fs/read_write.c | 16 +++++---
fs/xfs/xfs_buf.c | 7 ++++
fs/xfs/xfs_buf.h | 4 ++
fs/xfs/xfs_file.c | 16 ++++++++
fs/xfs/xfs_inode.h | 15 ++++++++
fs/xfs/xfs_iops.c | 22 +++++++++++
include/linux/blkdev.h | 16 ++++++++
include/linux/fs.h | 2 +-
include/linux/iomap.h | 1 +
13 files changed, 151 insertions(+), 22 deletions(-)