[PATCHSET v30.1 03/15] xfs: refactorings for atomic file content exchanges

Darrick J. Wong
2024-03-27T01:47:06Z

Hi all,

This series applies various cleanups and refactorings to file IO
handling code ahead of the main series to implement atomic file content
exchanges.

If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.

This has been running on the djcloud for months with no problems. Enjoy!
Comments and questions are, as always, welcome.

--D

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=file-exchange-refactorings

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=file-exchange-refactorings
---
Commits in this patchset:
* xfs: move inode lease breaking functions to xfs_inode.c
* xfs: move xfs_iops.c declarations out of xfs_inode.h
* xfs: declare xfs_file.c symbols in xfs_file.h
* xfs: create a new helper to return a file's allocation unit
* xfs: hoist multi-fsb allocation unit detection to a helper
* xfs: refactor non-power-of-two alignment checks
* xfs: constify xfs_bmap_is_written_extent
---
fs/xfs/libxfs/xfs_bmap.h | 2 +
fs/xfs/xfs_bmap_util.c | 4 +-
fs/xfs/xfs_file.c | 88 ++++------------------------------------------
fs/xfs/xfs_file.h | 15 ++++++++
fs/xfs/xfs_inode.c | 75 +++++++++++++++++++++++++++++++++++++++
fs/xfs/xfs_inode.h | 16 +++++---
fs/xfs/xfs_ioctl.c | 1 +
fs/xfs/xfs_iops.c | 1 +
fs/xfs/xfs_iops.h | 7 ++--
fs/xfs/xfs_linux.h | 5 +++
10 files changed, 121 insertions(+), 93 deletions(-)
create mode 100644 fs/xfs/xfs_file.h