On Tue, Apr 26, 2022 at 05:51:42PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > Reverse mapping on a reflink-capable filesystem has some pretty high > overhead when performing file operations. This is because the rmap > records for logically and physically adjacent extents might not be > adjacent in the rmap index due to data block sharing. As a result, we > use expensive overlapped-interval btree search, which walks every record > that overlaps with the supplied key in the hopes of finding the record. > > However, profiling data shows that when the index contains a record that > is an exact match for a query key, the non-overlapped btree search > function can find the record much faster than the overlapped version. > Try the non-overlapped lookup first, which will make scrub run much > faster. > > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> LGTM. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> -- Dave Chinner david@xxxxxxxxxxxxx