]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs_scrub: handle scrub-only kernels more helpfully
authorEric Sandeen <sandeen@redhat.com>
Fri, 2 Feb 2018 15:32:47 +0000 (09:32 -0600)
committerEric Sandeen <sandeen@redhat.com>
Fri, 2 Feb 2018 15:32:47 +0000 (09:32 -0600)
If xfs_scrub is run today against a 4.15 kernel, it fails with

EXPERIMENTAL xfs_scrub program in use! Use at your own risk!
Error: /home: Kernel metadata optimization facility is required.
Info: /home: Scrub aborted after phase 1.
/home: 2 errors found.

Be a bit kinder to the user and suggest a path forward.  By the
time we fail for missing preen or repair functionality, we do
know that scrub is available, so suggest it.

Further, rather than stating what is required, state what was not
found ... we're failing, so state what was missing, vs. what is
required - seems a bit more definitive.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Bill O'Donnell <billodo@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
scrub/phase1.c

index 547767b811ea1cfca9a972ec1494e01e5f78ca22..75da2960fbe4c38468201483cd5d816a1dc92f7f 100644 (file)
@@ -175,7 +175,7 @@ _("Does not appear to be an XFS filesystem!"));
            !xfs_can_scrub_attr(ctx) || !xfs_can_scrub_symlink(ctx) ||
            !xfs_can_scrub_parent(ctx)) {
                str_error(ctx, ctx->mntpoint,
-_("Kernel metadata scrubbing facility is required."));
+_("Kernel metadata scrubbing facility is not available."));
                return false;
        }
 
@@ -183,10 +183,10 @@ _("Kernel metadata scrubbing facility is required."));
        if (ctx->mode != SCRUB_MODE_DRY_RUN && !xfs_can_repair(ctx)) {
                if (ctx->mode == SCRUB_MODE_PREEN)
                        str_error(ctx, ctx->mntpoint,
-_("Kernel metadata optimization facility is required."));
+_("Kernel metadata optimization facility is not available.  Use -n to scrub."));
                else
                        str_error(ctx, ctx->mntpoint,
-_("Kernel metadata repair facility is required."));
+_("Kernel metadata repair facility is not available.  Use -n to scrub."));
                return false;
        }