On 10/22/19 1:49 PM, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > There's nothing that xfs_scrub (or XFS) can do about media errors for > data file blocks -- the data are gone. Create a new category for these > unfixable errors so that we don't advise the user to take further action > that won't fix the problem. > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> are "unfixable errors" /exclusively/ file data media errors? > diff --git a/scrub/phase4.c b/scrub/phase4.c > index 1cf3f6b7..a276bc32 100644 > --- a/scrub/phase4.c > +++ b/scrub/phase4.c > @@ -99,7 +99,10 @@ xfs_process_action_items( > workqueue_destroy(&wq); > > pthread_mutex_lock(&ctx->lock); > - if (moveon && ctx->corruptions_found == 0 && want_fstrim) { > + if (moveon && > + ctx->corruptions_found == 0 && > + ctx->unfixable_errors == 0 && > + want_fstrim) { > fstrim(ctx); > progress_add(1); > } why would a file data media error preclude fstrim? > diff --git a/scrub/phase5.c b/scrub/phase5.c > index dc0ee5e8..e0c4a3df 100644 > --- a/scrub/phase5.c > +++ b/scrub/phase5.c > @@ -336,7 +336,7 @@ xfs_scan_connections( > bool moveon = true; > bool ret; > > - if (ctx->corruptions_found) { > + if (ctx->corruptions_found || ctx->unfixable_errors) { > str_info(ctx, ctx->mntpoint, > _("Filesystem has errors, skipping connectivity checks.")); why would a file data media error stop the connectivity check? unless "unfixable" may be other types, in which case it makes sense. But the commit log indicates it's just for a file data media error. What's the intent? -Eric