]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs_admin: don't hide the xfs_repair output when upgrading
authorDarrick J. Wong <djwong@kernel.org>
Fri, 12 Mar 2021 18:57:27 +0000 (13:57 -0500)
committerEric Sandeen <sandeen@sandeen.net>
Fri, 12 Mar 2021 18:57:27 +0000 (13:57 -0500)
Currently, xfs_admin suppresses the output from xfs_repair when it tries
to upgrade a filesystem, and prints a rather unhelpful message if the
upgrade fails.

Neither of these behaviors are useful -- repair can fail for reasons
outside of the filesystem being mounted, and if it does, the admin will
never know what actually happened.

Worse yet, if repair finds corruptions on disk, the upgrade script
silently throws all that away, which means that nobody will ever be able
to report what happened if an upgrade trashes a filesystem.

Therefore, allow the console to capture all of repair's stdout/stderr
reports.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
db/xfs_admin.sh

index 02f34b7377d006e23e75cb219ba285162271f709..916050cbdbf71217efd1661eb642de7e825f7edd 100755 (executable)
@@ -51,17 +51,9 @@ case $# in
                fi
                if [ -n "$REPAIR_OPTS" ]
                then
-                       # Hide normal repair output which is sent to stderr
-                       # assuming the filesystem is fine when a user is
-                       # running xfs_admin.
-                       # Ideally, we need to improve the output behaviour
-                       # of repair for this purpose (say a "quiet" mode).
-                       eval xfs_repair $REPAIR_DEV_OPTS $REPAIR_OPTS "$1" 2> /dev/null
+                       echo "Running xfs_repair to upgrade filesystem."
+                       eval xfs_repair $REPAIR_DEV_OPTS $REPAIR_OPTS "$1"
                        status=`expr $? + $status`
-                       if [ $status -ne 0 ]
-                       then
-                               echo "Conversion failed, is the filesystem unmounted?"
-                       fi
                fi
                ;;
        *)      echo $USAGE 1>&2