Hi Carlos,
Please pull the large atomic writes series for xfs.
The following changes since commit bfecc4091e07a47696ac922783216d9e9ea46c97:
xfs: allow ro mounts if rtdev or logdev are read-only (2025-04-30
20:53:52 +0200)
are available in the Git repository at:
https://github.com/johnpgarry/linux.git tags/large-atomic-writes-xfs
for you to fetch changes up to 2c465e8bf4fd45e913a51506d58bd8906e5de0ca:
xfs: allow sysadmins to specify a maximum atomic write limit at mount
time (2025-05-07 08:40:35 +0100)
----------------------------------------------------------------
large atomic writes for xfs
Signed-off-by: John Garry <john.g.garry@xxxxxxxxxx>
----------------------------------------------------------------
Darrick J. Wong (6):
xfs: only call xfs_setsize_buftarg once per buffer target
xfs: separate out setting buftarg atomic writes limits
xfs: add helpers to compute log item overhead
xfs: add helpers to compute transaction reservation for finishing
intent items
xfs: ignore HW which cannot atomic write a single block
xfs: allow sysadmins to specify a maximum atomic write limit at
mount time
John Garry (11):
fs: add atomic write unit max opt to statx
xfs: rename xfs_inode_can_atomicwrite() ->
xfs_inode_can_hw_atomic_write()
xfs: allow block allocator to take an alignment hint
xfs: refactor xfs_reflink_end_cow_extent()
xfs: refine atomic write size check in xfs_file_write_iter()
xfs: add xfs_atomic_write_cow_iomap_begin()
xfs: add large atomic writes checks in
xfs_direct_write_iomap_begin()
xfs: commit CoW-based atomic writes atomically
xfs: add xfs_file_dio_write_atomic()
xfs: add xfs_calc_atomic_write_unit_max()
xfs: update atomic write limits
Documentation/admin-guide/xfs.rst | 11 ++
block/bdev.c | 3 +-
fs/ext4/inode.c | 2 +-
fs/stat.c | 6 +-
fs/xfs/libxfs/xfs_bmap.c | 5 +
fs/xfs/libxfs/xfs_bmap.h | 6 +-
fs/xfs/libxfs/xfs_log_rlimit.c | 4 +
fs/xfs/libxfs/xfs_trans_resv.c | 343
++++++++++++++++++++++++++++++++++----
fs/xfs/libxfs/xfs_trans_resv.h | 25 +++
fs/xfs/xfs_bmap_item.c | 10 ++
fs/xfs/xfs_bmap_item.h | 3 +
fs/xfs/xfs_buf.c | 70 ++++++--
fs/xfs/xfs_buf.h | 4 +-
fs/xfs/xfs_buf_item.c | 19 +++
fs/xfs/xfs_buf_item.h | 3 +
fs/xfs/xfs_extfree_item.c | 10 ++
fs/xfs/xfs_extfree_item.h | 3 +
fs/xfs/xfs_file.c | 87 +++++++++-
fs/xfs/xfs_inode.h | 14 +-
fs/xfs/xfs_iomap.c | 190 ++++++++++++++++++++-
fs/xfs/xfs_iomap.h | 1 +
fs/xfs/xfs_iops.c | 76 ++++++++-
fs/xfs/xfs_iops.h | 3 +
fs/xfs/xfs_log_cil.c | 4 +-
fs/xfs/xfs_log_priv.h | 13 ++
fs/xfs/xfs_mount.c | 161 ++++++++++++++++++
fs/xfs/xfs_mount.h | 17 ++
fs/xfs/xfs_refcount_item.c | 10 ++
fs/xfs/xfs_refcount_item.h | 3 +
fs/xfs/xfs_reflink.c | 146 ++++++++++++----
fs/xfs/xfs_reflink.h | 6 +
fs/xfs/xfs_rmap_item.c | 10 ++
fs/xfs/xfs_rmap_item.h | 3 +
fs/xfs/xfs_super.c | 80 ++++++++-
fs/xfs/xfs_trace.h | 115 +++++++++++++
include/linux/fs.h | 3 +-
include/linux/stat.h | 1 +
include/uapi/linux/stat.h | 8 +-
38 files changed, 1351 insertions(+), 127 deletions(-)