]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs_repair: Add missing braces to allow zeroing of corrupt log
authorXiao Yang <yangx.jy@cn.fujitsu.com>
Fri, 9 Mar 2018 02:35:20 +0000 (20:35 -0600)
committerEric Sandeen <sandeen@redhat.com>
Fri, 9 Mar 2018 02:35:20 +0000 (20:35 -0600)
When xlog_find_tail() fails to find the head or the tail, the missing
braces leads that an unparseable log always exits with status 2, even
if we've asked for -n or -L which should proceed.  We can expose this
issue by xfstests case xfs/098.

Fixes: commit b04647edea32 ("xfs_repair: exit with status 2 if log dirtiness is unknown")
Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
repair/phase2.c

index 992e997b039af30f50f49fd80d6f771a02dbd7cd..c124882627259b4ac71a7994f3c1dfe6228e5fd6 100644 (file)
@@ -78,12 +78,13 @@ zero_log(
                do_warn(
                _("zero_log: cannot find log head/tail (xlog_find_tail=%d)\n"),
                        error);
-               if (!no_modify && !zap_log)
+               if (!no_modify && !zap_log) {
                        do_warn(_(
 "ERROR: The log head and/or tail cannot be discovered. Attempt to mount the\n"
 "filesystem to replay the log or use the -L option to destroy the log and\n"
 "attempt a repair.\n"));
                        exit(2);
+               }
        } else {
                if (verbose) {
                        do_log(