Lines Matching defs:sm
157 if (error == 0 && (sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR))
362 struct xfs_scrub_metadata *sm)
369 sm->sm_flags &= ~XFS_SCRUB_FLAGS_OUT;
370 if (sm->sm_flags & ~XFS_SCRUB_FLAGS_IN)
373 if (memchr_inv(sm->sm_reserved, 0, sizeof(sm->sm_reserved)))
378 if (sm->sm_type >= XFS_SCRUB_TYPE_NR)
380 ops = &meta_scrub_ops[sm->sm_type];
392 if (sm->sm_ino || sm->sm_gen || sm->sm_agno)
396 if (sm->sm_ino || sm->sm_gen ||
397 sm->sm_agno >= mp->m_sb.sb_agcount)
401 if (sm->sm_agno || (sm->sm_gen && !sm->sm_ino))
414 if (sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) {
437 if ((sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) &&
438 (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT |
449 if (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT |
460 struct xfs_scrub_metadata *sm)
464 .sm = sm,
475 trace_xchk_start(ip, sm, error);
485 error = xchk_validate_inputs(mp, sm);
491 sc.ops = &meta_scrub_ops[sm->sm_type];
492 sc.sick_mask = xchk_health_mask_for_scrub_type(sm->sm_type);
525 if ((sc.sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) &&
531 sc.sm->sm_flags |= XFS_SCRUB_OFLAG_CORRUPT;
533 needs_fix = (sc.sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT |
541 sc.sm->sm_flags |= XFS_SCRUB_OFLAG_NO_REPAIR_NEEDED;
570 trace_xchk_done(ip, sm, error);
572 sm->sm_flags |= XFS_SCRUB_OFLAG_CORRUPT;