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. With a bit of luck, this should all go splendidly. 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-6.12 --- 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(-)