From: Zorro Lang <zlang@redhat.com>
To: Sun Ke <sunke32@huawei.com>
Cc: fstests@vger.kernel.org, linux-ext4@vger.kernel.org
Subject: Re: [PATCH v2 2/2] ext4: set 256 blocks in a block group then apply io pressure
Date: Fri, 8 Jul 2022 23:20:14 +0800 [thread overview]
Message-ID: <20220708152014.bifm4u2wmdwj3mnf@zlang-mailbox> (raw)
In-Reply-To: <20220708112155.2639551-3-sunke32@huawei.com>
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@huawei.com>
> ---
> 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
>
next prev parent reply other threads:[~2022-07-08 15:20 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-08 11:21 [PATCH v2 0/2] two regression tests for ext4 Sun Ke
2022-07-08 11:21 ` [PATCH v2 1/2] ext4: resize fs after resize_inode without e2fsck Sun Ke
2022-07-08 16:16 ` Zorro Lang
2022-07-11 7:32 ` Sun Ke
2022-07-08 11:21 ` [PATCH v2 2/2] ext4: set 256 blocks in a block group then apply io pressure Sun Ke
2022-07-08 15:20 ` Zorro Lang [this message]
2022-07-11 7:20 ` Sun Ke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220708152014.bifm4u2wmdwj3mnf@zlang-mailbox \
--to=zlang@redhat.com \
--cc=fstests@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=sunke32@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox