From: Pavel Reichl Date: Mon, 21 Sep 2020 08:55:11 +0000 (+0200) Subject: xfs: Add test for too-small device with stripe geometry X-Git-Tag: v2022.05.01~661 X-Git-Url: http://git.apps.os.sepia.ceph.com/?p=xfstests-dev.git;a=commitdiff_plain;h=bfe532d6e26c509df87eddbf21ec8e8e22dd2a52 xfs: Add test for too-small device with stripe geometry 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 Reviewed-by: Darrick J. Wong Signed-off-by: Eryu Guan --- diff --git a/tests/xfs/260 b/tests/xfs/260 new file mode 100755 index 00000000..f4da0302 --- /dev/null +++ b/tests/xfs/260 @@ -0,0 +1,51 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2020 Red Hat, Inc.. 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 xfsprogs 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 +_require_test + +localfile=$TEST_DIR/$seq.$$ + +$XFS_IO_PROG -f -c "truncate 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 b8374359..c8713ca5 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