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 | 37 +++++++++++++++++++++++++++++++++++++ tests/ext4/058.out | 2 ++ 2 files changed, 39 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..dc7903b7 --- /dev/null +++ b/tests/ext4/058 @@ -0,0 +1,37 @@ +#! /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 + +# real QA test starts here + +# Modify as appropriate. +_supported_fs generic +_require_scratch +_require_command "$KILLALL_PROG" killall + +# set 256 blocks in a block group +MKFS_OPTIONS="-g 256" +_scratch_mkfs >>$seqres.full 2>&1 +_scratch_mount + +$FSSTRESS_PROG -d $SCRATCH_MNT -n 1000 -p 1 >> $seqres.full 2>&1 & +sleep 3 +$KILLALL_PROG -q $FSSTRESS_PROG +wait + +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