Loading fs/xfs/scrub/rtrmap.c +15 −0 Original line number Diff line number Diff line Loading @@ -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( Loading @@ -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; } Loading Loading
fs/xfs/scrub/rtrmap.c +15 −0 Original line number Diff line number Diff line Loading @@ -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( Loading @@ -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; } Loading