[PATCHSET v4.0 05/10] xfs: clean up the rtbitmap code

Darrick J. Wong
2024-08-22T23:57:28Z

Hi all,

Here are some cleanups and reorganization of the realtime bitmap code to share
more of that code between userspace and the kernel.

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=rtbitmap-cleanups

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=rtbitmap-cleanups
---
Commits in this patchset:
* xfs: remove xfs_validate_rtextents
* xfs: factor out a xfs_validate_rt_geometry helper
* xfs: make the RT rsum_cache mandatory
* xfs: remove the limit argument to xfs_rtfind_back
* xfs: assert a valid limit in xfs_rtfind_forw
* xfs: add bounds checking to xfs_rt{bitmap,summary}_read_buf
* xfs: cleanup the calling convention for xfs_rtpick_extent
* xfs: push the calls to xfs_rtallocate_range out to xfs_bmap_rtalloc
* xfs: factor out a xfs_growfs_rt_bmblock helper
* xfs: factor out a xfs_last_rt_bmblock helper
* xfs: factor out rtbitmap/summary initialization helpers
* xfs: push transaction join out of xfs_rtbitmap_lock and xfs_rtgroup_lock
---
fs/xfs/libxfs/xfs_bmap.c | 3
fs/xfs/libxfs/xfs_rtbitmap.c | 192 ++++++++++++++-
fs/xfs/libxfs/xfs_rtbitmap.h | 33 +--
fs/xfs/libxfs/xfs_sb.c | 64 +++--
fs/xfs/libxfs/xfs_sb.h | 1
fs/xfs/libxfs/xfs_types.h | 12 -
fs/xfs/xfs_rtalloc.c | 535 +++++++++++++++++-------------------------
7 files changed, 438 insertions(+), 402 deletions(-)