On Wed, May 07, 2025 at 01:00:00PM +0100, John Garry wrote: > 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: The last commit has no Reviews into it. > > 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(-) >