On Tue, Mar 06, 2018 at 11:16:50AM -0600, Eric Sandeen wrote: > > > On 3/1/18 1:13 PM, Darrick J. Wong wrote: > > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > > > Don't advise the user to run xfs_repair on a filesystem that triggers > > warnings but no errors; there's no corruption for it to fix. > > > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > I went looking for why ->need_repair is set if repair isn't needed, and: > > C symbol: need_repair > > File Function Line > 0 scrub/xfs_scrub.h <global> 98 bool need_repair; > 1 scrub/phase1.c xfs_setup_fs 239 ctx->need_repair = true; > 2 scrub/xfs_scrub.c report_outcome 517 if (ctx->need_repair) > > um, when is ->need_repair ever false? What am I missing? In main(): struct scrub_ctx ctx = {0}; ctx.need_repair is false from the start of the program until the end of phase 1 when we've decided that yes we can check this xfs filesystem. --D > > --- > > scrub/xfs_scrub.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/scrub/xfs_scrub.c b/scrub/xfs_scrub.c > > index ab26e63..53a105a 100644 > > --- a/scrub/xfs_scrub.c > > +++ b/scrub/xfs_scrub.c > > @@ -514,7 +514,7 @@ report_outcome( > > fprintf(stderr, _("%s: errors found: %llu; warnings found: %llu\n"), > > ctx->mntpoint, total_errors, > > ctx->warnings_found); > > - if (ctx->need_repair) > > + if (ctx->need_repair && total_errors > 0) > > fprintf(stderr, _("%s: Unmount and run xfs_repair.\n"), > > ctx->mntpoint); > > } > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > > the body of a message to majordomo@xxxxxxxxxxxxxxx > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html