Commit 78aa1d95dd99 ("btrfs-progs: fi resize: make output more readable") added the device id of the resized fs along with a pretty printed size. Create a new filter to simplify the output message using size in bytes. Signed-off-by: Marcos Paulo de Souza <mpdesouza@xxxxxxxx> --- Changes since v2: * Check the output to verify if the resize really happened (Qu) Changes since v1: * Do not adapt the output message to the newer format (Qu) common/filter.btrfs | 24 ++++++++++++++++++++++++ tests/btrfs/177 | 8 +++++--- tests/btrfs/177.out | 4 ++-- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/common/filter.btrfs b/common/filter.btrfs index d4169cc6..fd422e08 100644 --- a/common/filter.btrfs +++ b/common/filter.btrfs @@ -72,6 +72,30 @@ _filter_btrfs_compress_property() sed -e "s/compression=\(lzo\|zlib\|zstd\)/COMPRESSION=XXX/g" } +# Eliminate the differences between the old and new output formats +# Old format: +# Resize 'SCRATCH_MNT' of '1073741824' +# New format: +# Resize device id 1 (SCRATCH_DEV) from 3.00GiB to 1.00GiB +# Convert both outputs to: +# Resized to 1073741824 +_filter_btrfs_filesystem_resize() +{ + local _field + local _val + local _suffix + _field=`$AWK_PROG '{print $NF}' | tr -d "'"` + # remove trailing zeroes + _val=`echo $_field | $AWK_PROG '{print $1 * 1}'` + # get the first unit char, for example return G in case we have GiB + _suffix=`echo $_field | grep -o "[GMB]"` + if [ -z "$_suffix" ]; then + _suffix="B" + fi + _val=`echo "$_val$_suffix" | _filter_size_to_bytes` + echo "Resized to $_val" +} + # filter error messages from btrfs prop, optionally verify against $1 # recognized message(s): # "object is not compatible with property: label" diff --git a/tests/btrfs/177 b/tests/btrfs/177 index 966d29d7..ff241bed 100755 --- a/tests/btrfs/177 +++ b/tests/btrfs/177 @@ -10,6 +10,7 @@ _begin_fstest auto quick swap balance . ./common/filter +. ./common/filter.btrfs . ./common/btrfs # Modify as appropriate. @@ -36,8 +37,8 @@ dd if=/dev/zero of="$SCRATCH_MNT/refill" bs=4096 >> $seqres.full 2>&1 # Now add more space and create a swap file. We know that the first $fssize # of the filesystem was used, so the swap file must be in the new part of the # filesystem. -$BTRFS_UTIL_PROG filesystem resize $((3 * fssize)) "$SCRATCH_MNT" | \ - _filter_scratch +$BTRFS_UTIL_PROG filesystem resize $((3 * fssize)) "$SCRATCH_MNT" | + _filter_btrfs_filesystem_resize _format_swapfile "$swapfile" $((32 * 1024 * 1024)) swapon "$swapfile" @@ -55,7 +56,8 @@ $BTRFS_UTIL_PROG filesystem resize 1G "$SCRATCH_MNT" 2>&1 | grep -o "Text file b swapoff "$swapfile" # It should work again after swapoff. -$BTRFS_UTIL_PROG filesystem resize $fssize "$SCRATCH_MNT" | _filter_scratch +$BTRFS_UTIL_PROG filesystem resize $fssize "$SCRATCH_MNT" | + _filter_btrfs_filesystem_resize status=0 exit diff --git a/tests/btrfs/177.out b/tests/btrfs/177.out index 63aca0e5..eb374d34 100644 --- a/tests/btrfs/177.out +++ b/tests/btrfs/177.out @@ -1,4 +1,4 @@ QA output created by 177 -Resize 'SCRATCH_MNT' of '3221225472' +Resized to 3221225472 Text file busy -Resize 'SCRATCH_MNT' of '1073741824' +Resized to 1073741824 -- 2.31.1