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(-)