Hi all, Reduce the performance impact of the reverse mapping btree when reflink is enabled by using the much faster non-overlapped btree lookup functions when we're searching the rmap index with a fully specified key. If we find the exact record we're looking for, great! We don't have to perform the full overlapped scan. For filesystems with high sharing factors this reduces the xfs_scrub runtime by a good 15%. This has been shown to reduce the fstests runtime for realtime rmap configurations by 30%, since the lack of AGs severely limits scalability. If you're going to start using this mess, you probably ought to just pull from my git trees, which are linked below. This is an extraordinary way to destroy everything. 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=rmap-speedups-5.19 --- fs/xfs/libxfs/xfs_rmap.c | 132 +++++++++++++++++++++++++++++----------------- fs/xfs/libxfs/xfs_rmap.h | 7 +- fs/xfs/scrub/bmap.c | 24 +------- fs/xfs/xfs_trace.h | 5 +- 4 files changed, 94 insertions(+), 74 deletions(-)