Lines Matching refs:sm
182 if (error == 0 && (sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR))
401 struct xfs_scrub_metadata *sm)
408 sm->sm_flags &= ~XFS_SCRUB_FLAGS_OUT;
409 if (sm->sm_flags & ~XFS_SCRUB_FLAGS_IN)
412 if (memchr_inv(sm->sm_reserved, 0, sizeof(sm->sm_reserved)))
417 if (sm->sm_type >= XFS_SCRUB_TYPE_NR)
419 ops = &meta_scrub_ops[sm->sm_type];
431 if (sm->sm_ino || sm->sm_gen || sm->sm_agno)
435 if (sm->sm_ino || sm->sm_gen ||
436 sm->sm_agno >= mp->m_sb.sb_agcount)
440 if (sm->sm_agno || (sm->sm_gen && !sm->sm_ino))
448 if ((sm->sm_flags & XFS_SCRUB_IFLAG_FORCE_REBUILD) &&
449 !(sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR))
458 if (sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) {
481 if ((sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) &&
482 (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT |
493 if (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT |
504 struct xfs_scrub_metadata *sm)
515 trace_xchk_start(XFS_I(file_inode(file)), sm, error);
525 error = xchk_validate_inputs(mp, sm);
540 sc->sm = sm;
541 sc->ops = &meta_scrub_ops[sm->sm_type];
542 sc->sick_mask = xchk_health_mask_for_scrub_type(sm->sm_type);
548 if (sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) {
576 if (error || (sm->sm_flags & XFS_SCRUB_OFLAG_INCOMPLETE))
587 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_NO_REPAIR_NEEDED;
617 xchk_stats_merge(mp, sm, &run);
620 trace_xchk_done(XFS_I(file_inode(file)), sm, error);
622 sm->sm_flags |= XFS_SCRUB_OFLAG_CORRUPT;