Hi all, This series prepares the btree code to support realtime reverse mapping btrees by refactoring xfs_ifork_realloc to be fed a per-btree ops structure so that it can handle multiple types of inode-rooted btrees. It moves on to refactoring the btree code to use the new realloc routines. 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=btree-cleanups-6.12 --- Commits in this patchset: * xfs: replace shouty XFS_BM{BT,DR} macros * xfs: standardize the btree maxrecs function parameters --- fs/xfs/libxfs/xfs_alloc_btree.c | 6 + fs/xfs/libxfs/xfs_alloc_btree.h | 3 - fs/xfs/libxfs/xfs_attr_leaf.c | 8 + fs/xfs/libxfs/xfs_bmap.c | 42 ++++--- fs/xfs/libxfs/xfs_bmap_btree.c | 24 ++-- fs/xfs/libxfs/xfs_bmap_btree.h | 207 +++++++++++++++++++++++++----------- fs/xfs/libxfs/xfs_ialloc.c | 4 - fs/xfs/libxfs/xfs_ialloc_btree.c | 6 + fs/xfs/libxfs/xfs_ialloc_btree.h | 3 - fs/xfs/libxfs/xfs_inode_fork.c | 34 +++--- fs/xfs/libxfs/xfs_refcount_btree.c | 5 + fs/xfs/libxfs/xfs_refcount_btree.h | 3 - fs/xfs/libxfs/xfs_rmap_btree.c | 7 + fs/xfs/libxfs/xfs_rmap_btree.h | 3 - fs/xfs/libxfs/xfs_sb.c | 16 +-- fs/xfs/libxfs/xfs_trans_resv.c | 2 fs/xfs/scrub/bmap_repair.c | 2 fs/xfs/scrub/inode_repair.c | 12 +- fs/xfs/xfs_bmap_util.c | 4 - 19 files changed, 237 insertions(+), 154 deletions(-)