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()
346 struct xfs_scrub_metadata *sm) in xchk_validate_inputs() argument
353 sm->sm_flags &= ~XFS_SCRUB_FLAGS_OUT; in xchk_validate_inputs()
354 if (sm->sm_flags & ~XFS_SCRUB_FLAGS_IN) in xchk_validate_inputs()
357 if (memchr_inv(sm->sm_reserved, 0, sizeof(sm->sm_reserved))) in xchk_validate_inputs()
362 if (sm->sm_type >= XFS_SCRUB_TYPE_NR) in xchk_validate_inputs()
364 ops = &meta_scrub_ops[sm->sm_type]; in xchk_validate_inputs()
376 if (sm->sm_ino || sm->sm_gen || sm->sm_agno) in xchk_validate_inputs()
380 if (sm->sm_ino || sm->sm_gen || in xchk_validate_inputs()
381 sm->sm_agno >= mp->m_sb.sb_agcount) in xchk_validate_inputs()
385 if (sm->sm_agno || (sm->sm_gen && !sm->sm_ino)) in xchk_validate_inputs()
398 if (sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) { in xchk_validate_inputs()
421 if ((sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) && in xchk_postmortem()
422 (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT | in xchk_postmortem()
433 if (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT | in xchk_postmortem()
444 struct xfs_scrub_metadata *sm) in xfs_scrub_metadata() argument
453 trace_xchk_start(XFS_I(file_inode(file)), sm, error); in xfs_scrub_metadata()
463 error = xchk_validate_inputs(mp, sm); in xfs_scrub_metadata()
478 sc->sm = sm; in xfs_scrub_metadata()
479 sc->ops = &meta_scrub_ops[sm->sm_type]; in xfs_scrub_metadata()
480 sc->sick_mask = xchk_health_mask_for_scrub_type(sm->sm_type); in xfs_scrub_metadata()
486 if (sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) { in xfs_scrub_metadata()
510 } else if (error || (sm->sm_flags & XFS_SCRUB_OFLAG_INCOMPLETE)) in xfs_scrub_metadata()
515 if ((sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) && in xfs_scrub_metadata()
521 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_CORRUPT; in xfs_scrub_metadata()
523 needs_fix = (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT | in xfs_scrub_metadata()
531 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_NO_REPAIR_NEEDED; in xfs_scrub_metadata()
562 trace_xchk_done(XFS_I(file_inode(file)), sm, error); in xfs_scrub_metadata()
564 sm->sm_flags |= XFS_SCRUB_OFLAG_CORRUPT; in xfs_scrub_metadata()