From 88ad13001735e537cefe27e36fcd02f7c44c6f8c Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Fri, 12 Mar 2021 13:57:27 -0500 Subject: [PATCH] xfs_admin: don't hide the xfs_repair output when upgrading 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 Reviewed-by: Brian Foster Signed-off-by: Eric Sandeen --- db/xfs_admin.sh | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/db/xfs_admin.sh b/db/xfs_admin.sh index 02f34b737..916050cbd 100755 --- a/db/xfs_admin.sh +++ b/db/xfs_admin.sh @@ -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 -- 2.47.2