Verify hat an attempt to create a too-small device with stripe geometry, is handled gracefully instead of hitting an assert in align_ag_geometry() Signed-off-by: Pavel Reichl <preichl@xxxxxxxxxx> --- tests/xfs/260 | 52 +++++++++++++++++++++++++++++++++++++++++++++++ tests/xfs/260.out | 2 ++ tests/xfs/group | 1 + 3 files changed, 55 insertions(+) create mode 100755 tests/xfs/260 create mode 100644 tests/xfs/260.out diff --git a/tests/xfs/260 b/tests/xfs/260 new file mode 100755 index 00000000..4e81d634 --- /dev/null +++ b/tests/xfs/260 @@ -0,0 +1,52 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2020 YOUR NAME HERE. All Rights Reserved. +# +# FS QA Test 260 +# +# Verify that an attempt to create a too-small device with stripe geometry, +# is handled gracefully instead of hitting an assert in align_ag_geometry() +# +# This test verifies the problem fixed in kernel with commit +# (mkfs.xfs: fix ASSERT on too-small device with stripe geometry) +# + +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_cleanup; exit \$status" 0 1 2 3 15 + +_cleanup() +{ + cd / + rm -f $tmp.* + rm -f $localfile +} + +# get standard environment, filters and checks +. ./common/rc + +# remove previous $seqres.full before test +rm -f $seqres.full + +echo 'Silence is golden' + +_supported_fs xfs +_supported_os Linux +_require_test + +localfile=$TEST_DIR/260.$$ + +truncate --size=10444800 $localfile + +$MKFS_XFS_PROG -dsu=65536,sw=1 $localfile >> $seqres.full 2>&1 + +[ $? -ne 1 ] && echo "${MKFS_XFS_PROG} should fail gracefully" + +# success, all done +status=0 +exit diff --git a/tests/xfs/260.out b/tests/xfs/260.out new file mode 100644 index 00000000..18ca517c --- /dev/null +++ b/tests/xfs/260.out @@ -0,0 +1,2 @@ +QA output created by 260 +Silence is golden diff --git a/tests/xfs/group b/tests/xfs/group index ed0d389e..7a6dfed7 100644 --- a/tests/xfs/group +++ b/tests/xfs/group @@ -257,6 +257,7 @@ 257 auto quick clone 258 auto quick clone 259 auto quick +260 auto quick mkfs 261 auto quick quota 262 dangerous_fuzzers dangerous_scrub dangerous_online_repair 263 auto quick quota -- 2.26.2