Lines Matching refs:sc
33 struct xfs_scrub *sc)
35 if (xchk_need_intent_drain(sc))
36 xchk_fsgates_enable(sc, XCHK_FSGATES_DRAIN);
38 return xchk_setup_ag_btree(sc, false);
71 struct xfs_scrub *sc,
82 if (!sc->sa.refc_cur || xchk_skip_xref(sc->sm))
91 error = xfs_refcount_find_shared(sc->sa.refc_cur, irec->rm_startblock,
93 if (!xchk_should_check_xref(sc, &error, &sc->sa.refc_cur))
96 xchk_btree_xref_set_corrupt(sc, sc->sa.refc_cur, 0);
102 struct xfs_scrub *sc,
108 if (sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT)
111 xchk_xref_is_used_space(sc, agbno, len);
113 xchk_xref_is_inode_chunk(sc, agbno, len);
115 xchk_xref_is_not_inode_chunk(sc, agbno, len);
117 xchk_xref_is_cow_staging(sc, irec->rm_startblock,
120 xchk_rmapbt_xref_refc(sc, irec);
139 struct xfs_scrub *sc = bs->sc;
146 if (sc->sm->sm_flags & XFS_SCRUB_OFLAG_PREEN)
162 xchk_btree_set_preen(sc, cur, level);
168 xchk_btree_set_preen(sc, cur, level);
177 struct xfs_scrub *sc,
180 if (!xfs_has_reflink(sc->mp))
199 if (bs->sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT)
212 if (!xchk_rmapbt_is_shareable(bs->sc, &cr->overlap_rec) ||
213 !xchk_rmapbt_is_shareable(bs->sc, irec))
214 xchk_btree_set_corrupt(bs->sc, bs->cur, 0);
261 if (bs->sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT)
265 xchk_btree_set_corrupt(bs->sc, bs->cur, 0);
277 struct xfs_scrub *sc = bs->sc;
286 if (sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT)
325 xchk_btree_xref_set_corrupt(bs->sc,
326 bs->sc->sa.rmap_cur, 0);
334 xchk_btree_xref_set_corrupt(bs->sc, bs->sc->sa.rmap_cur, 0);
352 xchk_btree_set_corrupt(bs->sc, bs->cur, 0);
359 xchk_rmapbt_xref(bs->sc, &irec);
387 struct xfs_scrub *sc,
390 struct xfs_mount *mp = sc->mp;
392 struct xfs_agf *agf = sc->sa.agf_bp->b_addr;
403 if (xfs_ag_contains_log(mp, sc->sa.pag->pag_agno)) {
412 cur = sc->sa.bno_cur;
414 cur = xfs_allocbt_init_cursor(sc->mp, sc->tp, sc->sa.agf_bp,
415 sc->sa.pag, XFS_BTNUM_BNO);
417 if (cur != sc->sa.bno_cur)
422 cur = sc->sa.cnt_cur;
424 cur = xfs_allocbt_init_cursor(sc->mp, sc->tp, sc->sa.agf_bp,
425 sc->sa.pag, XFS_BTNUM_CNT);
427 if (cur != sc->sa.cnt_cur)
432 error = xagb_bitmap_set_btblocks(&cr->ag_owned, sc->sa.rmap_cur);
436 error = xfs_alloc_read_agfl(sc->sa.pag, sc->tp, &agfl_bp);
440 error = xfs_agfl_walk(sc->mp, agf, agfl_bp, xchk_rmapbt_walk_agfl,
442 xfs_trans_brelse(sc->tp, agfl_bp);
447 cur = sc->sa.ino_cur;
449 cur = xfs_inobt_init_cursor(sc->sa.pag, sc->tp, sc->sa.agi_bp,
452 if (cur != sc->sa.ino_cur)
457 if (xfs_has_finobt(sc->mp)) {
458 cur = sc->sa.fino_cur;
460 cur = xfs_inobt_init_cursor(sc->sa.pag, sc->tp,
461 sc->sa.agi_bp, XFS_BTNUM_FINO);
463 if (cur != sc->sa.fino_cur)
470 if (xfs_has_reflink(sc->mp)) {
471 cur = sc->sa.refc_cur;
473 cur = xfs_refcountbt_init_cursor(sc->mp, sc->tp,
474 sc->sa.agf_bp, sc->sa.pag);
476 if (cur != sc->sa.refc_cur)
488 xchk_btree_xref_process_error(sc, sc->sa.rmap_cur,
489 sc->sa.rmap_cur->bc_nlevels - 1, &error);
501 struct xfs_scrub *sc,
504 struct xfs_btree_cur *cur = sc->sa.rmap_cur;
507 if (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT |
519 xchk_btree_xref_set_corrupt(sc, cur, level);
522 xchk_btree_xref_set_corrupt(sc, cur, level);
525 xchk_btree_xref_set_corrupt(sc, cur, level);
528 xchk_btree_xref_set_corrupt(sc, cur, level);
531 xchk_btree_xref_set_corrupt(sc, cur, level);
537 struct xfs_scrub *sc)
552 error = xchk_rmapbt_walk_ag_metadata(sc, cr);
556 error = xchk_btree(sc, sc->sa.rmap_cur, xchk_rmapbt_rec,
561 xchk_rmapbt_check_bitmaps(sc, cr);
576 struct xfs_scrub *sc,
584 if (!sc->sa.rmap_cur || xchk_skip_xref(sc->sm))
587 error = xfs_rmap_count_owners(sc->sa.rmap_cur, bno, len, oinfo, &res);
588 if (!xchk_should_check_xref(sc, &error, &sc->sa.rmap_cur))
591 xchk_btree_xref_set_corrupt(sc, sc->sa.rmap_cur, 0);
593 xchk_btree_xref_set_corrupt(sc, sc->sa.rmap_cur, 0);
595 xchk_btree_xref_set_corrupt(sc, sc->sa.rmap_cur, 0);
601 struct xfs_scrub *sc,
609 if (!sc->sa.rmap_cur || xchk_skip_xref(sc->sm))
612 error = xfs_rmap_count_owners(sc->sa.rmap_cur, bno, len, oinfo, &res);
613 if (!xchk_should_check_xref(sc, &error, &sc->sa.rmap_cur))
616 xchk_btree_xref_set_corrupt(sc, sc->sa.rmap_cur, 0);
618 xchk_btree_xref_set_corrupt(sc, sc->sa.rmap_cur, 0);
624 struct xfs_scrub *sc,
631 if (!sc->sa.rmap_cur || xchk_skip_xref(sc->sm))
634 error = xfs_rmap_has_records(sc->sa.rmap_cur, bno, len, &outcome);
635 if (!xchk_should_check_xref(sc, &error, &sc->sa.rmap_cur))
638 xchk_btree_xref_set_corrupt(sc, sc->sa.rmap_cur, 0);