Message ID | 20200921085511.98739-1-preichl@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] xfs: Add test for too-small device with stripe geometry | expand |
On Mon, Sep 21, 2020 at 10:55:11AM +0200, Pavel Reichl wrote: > 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@redhat.com> Looks ok (afaict the only change was removing _supported_os?) Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> --D > --- > tests/xfs/260 | 51 +++++++++++++++++++++++++++++++++++++++++++++++ > tests/xfs/260.out | 2 ++ > tests/xfs/group | 1 + > 3 files changed, 54 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..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 > -- > 2.26.2 >
On 9/21/20 6:43 PM, Darrick J. Wong wrote: > On Mon, Sep 21, 2020 at 10:55:11AM +0200, Pavel Reichl wrote: >> 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@redhat.com> > > Looks ok (afaict the only change was removing _supported_os?) > Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> > Hi, sorry I should have added cover-letter, Changes (mostly requested by Eryu): * removed _supported_os * fixed missing copyright * s/kernel/xfsprogs in 'the problem fixed in kernel with commit' * -localfile=$TEST_DIR/260.$$ +localfile=$TEST_DIR/$seq.$$ * replaced 'truncate...' with 'XFS_IO_PROG -f -c "truncate...' Bye.
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
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@redhat.com> --- tests/xfs/260 | 51 +++++++++++++++++++++++++++++++++++++++++++++++ tests/xfs/260.out | 2 ++ tests/xfs/group | 1 + 3 files changed, 54 insertions(+) create mode 100755 tests/xfs/260 create mode 100644 tests/xfs/260.out