From: Christoph Hellwig Date: Thu, 10 Sep 2009 22:25:34 +0000 (-0500) Subject: xfsprogs: fix the -V option for various shell scripts X-Git-Tag: v3.0.5~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d24f8e6d2d46781bc76e6686f5a38f965ef057c1;p=thirdparty%2Fxfsprogs-dev.git xfsprogs: fix the -V option for various shell scripts For most of the shellscripts wrapping xfs_db or xfs_growfs the -V option is not implemented correctly. If we just add -V to the options for the underlying binaries we will never actually call it because the mandatory device / mount point argument is missing. Instead just call the underlying command with -V directly and exit early. This is what xfs_bmap.sh, xfs_mkfile and xfs_metadump.sh are already doing. Reported-by: Michael Monnerie Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Alex Elder --- diff --git a/db/xfs_admin.sh b/db/xfs_admin.sh index 74d457c29..a7a3fdbc3 100755 --- a/db/xfs_admin.sh +++ b/db/xfs_admin.sh @@ -19,7 +19,10 @@ do L) DB_OPTS=$DB_OPTS" -c 'label "$OPTARG"'";; u) DB_OPTS=$DB_OPTS" -r -c uuid";; U) DB_OPTS=$DB_OPTS" -c 'uuid "$OPTARG"'";; - V) DB_OPTS=$DB_OPTS" -V";; + V) xfs_db -p xfs_admin -V + status=$? + exit $status + ;; \?) echo $USAGE 1>&2 exit 2 ;; diff --git a/db/xfs_check.sh b/db/xfs_check.sh index 7f141f923..c76b5403f 100755 --- a/db/xfs_check.sh +++ b/db/xfs_check.sh @@ -13,11 +13,14 @@ do s) OPTS=$OPTS"-s ";; t) OPTS=$OPTS"-t ";; v) OPTS=$OPTS"-v ";; - V) OPTS=$OPTS"-V ";; i) OPTS=$OPTS"-i "$OPTARG" ";; b) OPTS=$OPTS"-b "$OPTARG" ";; f) DBOPTS=$DBOPTS" -f";; l) DBOPTS=$DBOPTS" -l "$OPTARG" ";; + V) xfs_db -p xfs_check -V + status=$? + exit $status + ;; \?) echo $USAGE 1>&2 exit 2 ;; diff --git a/db/xfs_ncheck.sh b/db/xfs_ncheck.sh index e228ecade..f008882f4 100755 --- a/db/xfs_ncheck.sh +++ b/db/xfs_ncheck.sh @@ -14,9 +14,12 @@ do s) OPTS=$OPTS"-s ";; i) OPTS=$OPTS"-i "$OPTARG" ";; v) OPTS=$OPTS"-v ";; - V) OPTS=$OPTS"-V ";; f) DBOPTS=$DBOPTS" -f";; l) DBOPTS=$DBOPTS" -l "$OPTARG" ";; + V) xfs_db -p xfs_ncheck -V + status=$? + exit $status + ;; \?) echo $USAGE 1>&2 exit 2 ;; diff --git a/growfs/xfs_info.sh b/growfs/xfs_info.sh index a9f603672..b85f120f3 100755 --- a/growfs/xfs_info.sh +++ b/growfs/xfs_info.sh @@ -10,7 +10,10 @@ while getopts "t:V" c do case $c in t) OPTS="-t $OPTARG" ;; - V) OPTS="-V $OPTARG" ;; + V) xfs_growfs -p xfs_info -V + status=$? + exit $status + ;; *) echo $USAGE 1>&2 exit 2 ;;