common/xfs: Fix _require_scratch_xfs_shrink bug
authorYang Xu <xuyang2018.jy@fujitsu.com>
Fri, 28 May 2021 09:41:10 +0000 (17:41 +0800)
committerEryu Guan <guaneryu@gmail.com>
Sun, 30 May 2021 11:48:55 +0000 (19:48 +0800)
Since local declaration can't pass function return value, this
helper never detects whether kernel or xfsprogs supports xfs shrink
feature successfully. Fit it by separating declaration and
assignment of local variables.

Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
common/xfs

index d7f2a00..c5e3942 100644 (file)
@@ -820,7 +820,8 @@ _require_scratch_xfs_shrink()
        . $tmp.mkfs
        _scratch_mount
        # here just to check if kernel supports, no need do more extra work
        . $tmp.mkfs
        _scratch_mount
        # here just to check if kernel supports, no need do more extra work
-       local errmsg=$($XFS_GROWFS_PROG -D$((dblocks-1)) "$SCRATCH_MNT" 2>&1)
+       local errmsg
+       errmsg=$($XFS_GROWFS_PROG -D$((dblocks-1)) "$SCRATCH_MNT" 2>&1)
        if [ "$?" -ne 0 ]; then
                echo "$errmsg" | grep 'XFS_IOC_FSGROWFSDATA xfsctl failed: Invalid argument' > /dev/null && \
                        _notrun "kernel does not support shrinking"
        if [ "$?" -ne 0 ]; then
                echo "$errmsg" | grep 'XFS_IOC_FSGROWFSDATA xfsctl failed: Invalid argument' > /dev/null && \
                        _notrun "kernel does not support shrinking"