]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
xfs: refine atomic write size check in xfs_file_write_iter()
authorJohn Garry <john.g.garry@oracle.com>
Wed, 7 May 2025 21:18:28 +0000 (14:18 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 7 May 2025 21:25:31 +0000 (14:25 -0700)
commit0ea88ed47bb1912377975f310da10183e0f6c5bb
treea516fd549fdc41dd275b467e1862d267af8d5e70
parent514df14fae97c91521ef53faf3a386e26afb8bee
xfs: refine atomic write size check in xfs_file_write_iter()

Currently the size of atomic write allowed is fixed at the blocksize.

To start to lift this restriction, partly refactor
xfs_report_atomic_write() to into helpers -
xfs_get_atomic_write_{min, max}() - and use those helpers to find the
per-inode atomic write limits and check according to that.

Also add xfs_get_atomic_write_max_opt() to return the optimal limit, and
just return 0 since large atomics aren't supported yet.

Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: John Garry <john.g.garry@oracle.com>
fs/xfs/xfs_file.c
fs/xfs/xfs_iops.c
fs/xfs/xfs_iops.h