From 8aa212310d62295488d23bf7958d2329c287a8c9 Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Wed, 21 Mar 2018 19:48:09 -0700 Subject: [PATCH] common/xfs: fix various problems with _supports_xfs_scrub The _supports_xfs_scrub helper is called with a mountpoint (a working mountpoint is required for scrub) and a block device (used to detect norecovery mounts). If either of these conditions aren't satisfied we should return failure status to the caller, not unilaterally decide to bail out of the test. In particular, the -b test doesn't work if the fs has already shutdown on us. Signed-off-by: Darrick J. Wong Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- common/xfs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/common/xfs b/common/xfs index 56531f91..3169f871 100644 --- a/common/xfs +++ b/common/xfs @@ -305,9 +305,13 @@ _supports_xfs_scrub() local mountpoint="$1" local device="$2" - if [ ! -b "$device" ] || [ ! -e "$mountpoint" ]; then + if [ -z "$device" ] || [ -z "$mountpoint" ]; then echo "Usage: _supports_xfs_scrub mountpoint device" - exit 1 + return 1 + fi + + if [ ! -b "$device" ] || [ ! -e "$mountpoint" ]; then + return 1 fi test "$FSTYP" = "xfs" || return 1 -- 2.47.3