Lines Matching refs:sa
431 struct xchk_ag *sa)
433 if (sa->refc_cur)
434 xfs_btree_del_cursor(sa->refc_cur, XFS_BTREE_ERROR);
435 if (sa->rmap_cur)
436 xfs_btree_del_cursor(sa->rmap_cur, XFS_BTREE_ERROR);
437 if (sa->fino_cur)
438 xfs_btree_del_cursor(sa->fino_cur, XFS_BTREE_ERROR);
439 if (sa->ino_cur)
440 xfs_btree_del_cursor(sa->ino_cur, XFS_BTREE_ERROR);
441 if (sa->cnt_cur)
442 xfs_btree_del_cursor(sa->cnt_cur, XFS_BTREE_ERROR);
443 if (sa->bno_cur)
444 xfs_btree_del_cursor(sa->bno_cur, XFS_BTREE_ERROR);
446 sa->refc_cur = NULL;
447 sa->rmap_cur = NULL;
448 sa->fino_cur = NULL;
449 sa->ino_cur = NULL;
450 sa->bno_cur = NULL;
451 sa->cnt_cur = NULL;
458 struct xchk_ag *sa)
461 xfs_agnumber_t agno = sa->agno;
463 xchk_perag_get(sc->mp, sa);
464 if (sa->agf_bp &&
465 xchk_ag_btree_healthy_enough(sc, sa->pag, XFS_BTNUM_BNO)) {
467 sa->bno_cur = xfs_allocbt_init_cursor(mp, sc->tp, sa->agf_bp,
469 if (!sa->bno_cur)
473 if (sa->agf_bp &&
474 xchk_ag_btree_healthy_enough(sc, sa->pag, XFS_BTNUM_CNT)) {
476 sa->cnt_cur = xfs_allocbt_init_cursor(mp, sc->tp, sa->agf_bp,
478 if (!sa->cnt_cur)
483 if (sa->agi_bp &&
484 xchk_ag_btree_healthy_enough(sc, sa->pag, XFS_BTNUM_INO)) {
485 sa->ino_cur = xfs_inobt_init_cursor(mp, sc->tp, sa->agi_bp,
487 if (!sa->ino_cur)
492 if (sa->agi_bp && xfs_sb_version_hasfinobt(&mp->m_sb) &&
493 xchk_ag_btree_healthy_enough(sc, sa->pag, XFS_BTNUM_FINO)) {
494 sa->fino_cur = xfs_inobt_init_cursor(mp, sc->tp, sa->agi_bp,
496 if (!sa->fino_cur)
501 if (sa->agf_bp && xfs_sb_version_hasrmapbt(&mp->m_sb) &&
502 xchk_ag_btree_healthy_enough(sc, sa->pag, XFS_BTNUM_RMAP)) {
503 sa->rmap_cur = xfs_rmapbt_init_cursor(mp, sc->tp, sa->agf_bp,
505 if (!sa->rmap_cur)
510 if (sa->agf_bp && xfs_sb_version_hasreflink(&mp->m_sb) &&
511 xchk_ag_btree_healthy_enough(sc, sa->pag, XFS_BTNUM_REFC)) {
512 sa->refc_cur = xfs_refcountbt_init_cursor(mp, sc->tp,
513 sa->agf_bp, agno);
514 if (!sa->refc_cur)
527 struct xchk_ag *sa)
529 xchk_ag_btcur_free(sa);
530 if (sa->agfl_bp) {
531 xfs_trans_brelse(sc->tp, sa->agfl_bp);
532 sa->agfl_bp = NULL;
534 if (sa->agf_bp) {
535 xfs_trans_brelse(sc->tp, sa->agf_bp);
536 sa->agf_bp = NULL;
538 if (sa->agi_bp) {
539 xfs_trans_brelse(sc->tp, sa->agi_bp);
540 sa->agi_bp = NULL;
542 if (sa->pag) {
543 xfs_perag_put(sa->pag);
544 sa->pag = NULL;
546 sa->agno = NULLAGNUMBER;
560 struct xchk_ag *sa)
564 sa->agno = agno;
565 error = xchk_ag_read_headers(sc, agno, &sa->agi_bp,
566 &sa->agf_bp, &sa->agfl_bp);
570 return xchk_ag_btcur_init(sc, sa);
580 struct xchk_ag *sa)
582 if (!sa->pag)
583 sa->pag = xfs_perag_get(mp, sa->agno);
648 return xchk_ag_init(sc, sc->sm->sm_agno, &sc->sa);