Commit 1ebecab5 authored by Darrick J. Wong's avatar Darrick J. Wong
Browse files

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: default avatar"Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
parent 9a6cc4f6
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -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;
}