xfs: cross-reference realtime bitmap to realtime rmapbt scrubber

When we're checking the realtime rmap btree entries, cross-reference
those entries with the realtime bitmap too.

Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Darrick J. Wong 2024-11-20 16:20:35 -08:00
parent 9a6cc4f6d0
commit 1ebecab5ad

View File

@ -142,6 +142,20 @@ xchk_rtrmapbt_check_mergeable(
memcpy(&cr->prev_rec, irec, sizeof(struct xfs_rmap_irec));
}
/* Cross-reference with other metadata. */
STATIC void
xchk_rtrmapbt_xref(
struct xfs_scrub *sc,
struct xfs_rmap_irec *irec)
{
if (sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT)
return;
xchk_xref_is_used_rt_space(sc,
xfs_rgbno_to_rtb(sc->sr.rtg, irec->rm_startblock),
irec->rm_blockcount);
}
/* Scrub a realtime rmapbt record. */
STATIC int
xchk_rtrmapbt_rec(
@ -162,6 +176,7 @@ xchk_rtrmapbt_rec(
xchk_rtrmapbt_check_mergeable(bs, cr, &irec);
xchk_rtrmapbt_check_overlapping(bs, cr, &irec);
xchk_rtrmapbt_xref(bs->sc, &irec);
return 0;
}