Lines Matching refs:sm
158 if (error == 0 && (sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR)) in xchk_teardown()
172 if (sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) in xchk_teardown()
364 struct xfs_scrub_metadata *sm) in xchk_validate_inputs() argument
371 sm->sm_flags &= ~XFS_SCRUB_FLAGS_OUT; in xchk_validate_inputs()
372 if (sm->sm_flags & ~XFS_SCRUB_FLAGS_IN) in xchk_validate_inputs()
375 if (memchr_inv(sm->sm_reserved, 0, sizeof(sm->sm_reserved))) in xchk_validate_inputs()
380 if (sm->sm_type >= XFS_SCRUB_TYPE_NR) in xchk_validate_inputs()
382 ops = &meta_scrub_ops[sm->sm_type]; in xchk_validate_inputs()
394 if (sm->sm_ino || sm->sm_gen || sm->sm_agno) in xchk_validate_inputs()
398 if (sm->sm_ino || sm->sm_gen || in xchk_validate_inputs()
399 sm->sm_agno >= mp->m_sb.sb_agcount) in xchk_validate_inputs()
403 if (sm->sm_agno || (sm->sm_gen && !sm->sm_ino)) in xchk_validate_inputs()
416 if (sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) { in xchk_validate_inputs()
439 if ((sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) && in xchk_postmortem()
440 (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT | in xchk_postmortem()
451 if (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT | in xchk_postmortem()
462 struct xfs_scrub_metadata *sm) in xfs_scrub_metadata() argument
471 trace_xchk_start(XFS_I(file_inode(file)), sm, error); in xfs_scrub_metadata()
481 error = xchk_validate_inputs(mp, sm); in xfs_scrub_metadata()
495 sc->sm = sm; in xfs_scrub_metadata()
496 sc->ops = &meta_scrub_ops[sm->sm_type]; in xfs_scrub_metadata()
497 sc->sick_mask = xchk_health_mask_for_scrub_type(sm->sm_type); in xfs_scrub_metadata()
503 if (sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) { in xfs_scrub_metadata()
527 } else if (error || (sm->sm_flags & XFS_SCRUB_OFLAG_INCOMPLETE)) in xfs_scrub_metadata()
532 if ((sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) && in xfs_scrub_metadata()
538 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_CORRUPT; in xfs_scrub_metadata()
540 needs_fix = (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT | in xfs_scrub_metadata()
548 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_NO_REPAIR_NEEDED; in xfs_scrub_metadata()
579 trace_xchk_done(XFS_I(file_inode(file)), sm, error); in xfs_scrub_metadata()
581 sm->sm_flags |= XFS_SCRUB_OFLAG_CORRUPT; in xfs_scrub_metadata()