On Fri, Jul 08, 2022 at 07:21:55PM +0800, Sun Ke wrote: > Set 256 blocks in a block group, then inject I/O pressure, it will > trigger off kernel BUG in ext4_mb_mark_diskspace_used. > > Regression test for commit a08f789d2ab5 ext4: fix bug_on > ext4_mb_use_inode_pa. > > Signed-off-by: Sun Ke <sunke32@xxxxxxxxxx> > --- > tests/ext4/058 | 33 +++++++++++++++++++++++++++++++++ > tests/ext4/058.out | 2 ++ > 2 files changed, 35 insertions(+) > create mode 100755 tests/ext4/058 > create mode 100644 tests/ext4/058.out > > diff --git a/tests/ext4/058 b/tests/ext4/058 > new file mode 100755 > index 00000000..b718c1ac > --- /dev/null > +++ b/tests/ext4/058 > @@ -0,0 +1,33 @@ > +#! /bin/bash > +# SPDX-License-Identifier: GPL-2.0 > +# Copyright (c) 2022 HUAWEI. All Rights Reserved. > +# > +# FS QA Test 058 > +# > +# Set 256 blocks in a block group, then inject I/O pressure, > +# it will trigger off kernel BUG in ext4_mb_mark_diskspace_used > +# > +# Regression test for commit > +# a08f789d2ab5 ext4: fix bug_on ext4_mb_use_inode_pa > +# > +. ./common/preamble > +_begin_fstest auto quick ? > + > +# real QA test starts here > + > +_supported_fs ext4 > +_fixed_by_kernel_commit a08f789d2ab5 \ > + "ext4: fix bug_on ext4_mb_use_inode_pa" > +_require_scratch > + > +# set 256 blocks in a block group > +_scratch_mkfs -g 256 >>$seqres.full 2>&1 || _fail "mkfs failed" > +_scratch_mount > + > +$FSSTRESS_PROG -d $SCRATCH_MNT/stress -n 1000 >> $seqres.full Use "2>&1", if you'd like to avoid some fsstress error output break golden image. BTW, just for make, are you sure this can reproduce that bug? Due to that fix commit said: ... we can easily reproduce this problem with the following commands: `fallocate -l100M disk` `mkfs.ext4 -b 1024 -g 256 disk` `mount disk /mnt` `fsstress -d /mnt -l 0 -n 1000 -p 1` ... It uses "-l 0" to loop run fsstress until hit the bug. You removed the '-l 0', so are you sure one round `fsstress -n 1000` is enough to reproduce this bug stably? Thanks, Zorro > + > +echo "Silence is golden" > + > +# success, all done > +status=0 > +exit > diff --git a/tests/ext4/058.out b/tests/ext4/058.out > new file mode 100644 > index 00000000..fb5ca60b > --- /dev/null > +++ b/tests/ext4/058.out > @@ -0,0 +1,2 @@ > +QA output created by 058 > +Silence is golden > -- > 2.13.6 >