From: "Darrick J. Wong" <djwong@kernel.org>
To: Ojaswin Mujoo <ojaswin@linux.ibm.com>
Cc: Zorro Lang <zlang@redhat.com>,
fstests@vger.kernel.org, Disha Goel <disgoel@linux.ibm.com>
Subject: Re: [PATCH 1/4] ext4/061,062: Minor fixes and refactoring
Date: Wed, 1 Apr 2026 07:33:02 -0700 [thread overview]
Message-ID: <20260401143302.GJ6212@frogsfrogsfrogs> (raw)
In-Reply-To: <726e43008315a1bed018c1b43aae2458aebc03bc.1775039135.git.ojaswin@linux.ibm.com>
On Wed, Apr 01, 2026 at 04:10:47PM +0530, Ojaswin Mujoo wrote:
> Fix 2 issues in the tests:
>
> 1. Use fs atomic write limits instead of bdev's
>
> The tests use block device's limits instead of limits advertised
> by filesystem. This can cause failures because block device might
> advertise a higher maximum than the FS. Fix the tests to use
> filesystem's limits instead.
>
> 2. Fix the test loop range
>
> Fix the test loop start and end so that our calculations for
> blocksize, clustersize and iosize are correct.
>
> Reported-by: Disha Goel <disgoel@linux.ibm.com>
> Signed-off-by: Ojaswin Mujoo <ojaswin@linux.ibm.com>
Looks fine to me,
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> tests/ext4/061 | 28 ++++++++++++++++++++--------
> tests/ext4/062 | 26 +++++++++++++++++++-------
> 2 files changed, 39 insertions(+), 15 deletions(-)
>
> diff --git a/tests/ext4/061 b/tests/ext4/061
> index 1d61c8b0..69ddeaca 100755
> --- a/tests/ext4/061
> +++ b/tests/ext4/061
> @@ -31,10 +31,19 @@ _require_aiodio
> FIO_LOAD=$(($(nproc) * 2 * LOAD_FACTOR))
> SIZE=$((100*1024*1024))
>
> -# Calculate fsblocksize as per bdev atomic write units.
> -bdev_awu_min=$(_get_atomic_write_unit_min $SCRATCH_DEV)
> -bdev_awu_max=$(_get_atomic_write_unit_max $SCRATCH_DEV)
> -bs=$(_max 4096 "$bdev_awu_min")
> +_scratch_mkfs > /dev/null 2>&1 || \
> + _notrun "mkfs failed"
> +_try_scratch_mount || \
> + _notrun "mount failed"
> +
> +touch $SCRATCH_MNT/f
> +
> +fs_awu_min=$(_get_atomic_write_unit_min $SCRATCH_MNT/f)
> +fs_awu_max=$(_get_atomic_write_unit_max $SCRATCH_MNT/f)
> +bs=$(_max 4096 "$fs_awu_min")
> +ps=$(_get_page_size)
> +
> +_scratch_unmount
>
> function create_fio_configs()
> {
> @@ -97,10 +106,11 @@ run_test_one() {
> local cs=$2
> local iosize=$3
>
> + echo "== Testing: bs=$bs cs=$cs iosize=$iosize ==" >> $seqres.full
> +
> MKFS_OPTIONS="-O bigalloc -b $bs -C $cs"
> _scratch_mkfs_ext4 >> $seqres.full 2>&1 || return
> if _try_scratch_mount >> $seqres.full 2>&1; then
> - echo "== Testing: bs=$bs cs=$cs iosize=$iosize ==" >> $seqres.full
>
> touch $SCRATCH_MNT/f1
> create_fio_configs $iosize
> @@ -127,7 +137,7 @@ run_test() {
> # cluster sizes above 16 x blocksize are experimental so avoid them
> # Also, cap cluster size at 128kb to keep it reasonable for large
> # blocks size
> - max_cs=$(_min $((16 * bs)) "$bdev_awu_max" $((128 * 1024)))
> + max_cs=$(_min $((16 * bs)) "$fs_awu_max" $((128 * 1024)))
>
> # Fuzz for combinations of blocksize, clustersize and
> # iosize that cover most of the cases
> @@ -145,8 +155,10 @@ fio_out=$tmp.fio.out
> create_fio_configs $bs
> _require_fio $fio_aw_config
>
> -for ((bs=$bs; bs <= $(_get_page_size); bs = $bs << 1)); do
> - run_test $bs
> +echo "Awu min: $fs_awu_min Awu max: $fs_awu_max" >> $seqres.full
> +
> +for ((bs=$fs_awu_min; bs <= $(_min ps fs_awu_max); bs = $bs << 1)); do
> + run_test $bs $cs $iosize
> done
>
> # success, all done
> diff --git a/tests/ext4/062 b/tests/ext4/062
> index 05cce696..56bf080c 100755
> --- a/tests/ext4/062
> +++ b/tests/ext4/062
> @@ -33,10 +33,19 @@ _require_aiodio
> FSSIZE=$((360*1024*1024))
> FIO_LOAD=$(($(nproc) * LOAD_FACTOR))
>
> -# Calculate bs as per bdev atomic write units.
> -bdev_awu_min=$(_get_atomic_write_unit_min $SCRATCH_DEV)
> -bdev_awu_max=$(_get_atomic_write_unit_max $SCRATCH_DEV)
> -bs=$(_max 4096 "$bdev_awu_min")
> +_scratch_mkfs > /dev/null 2>&1 || \
> + _notrun "mkfs failed"
> +_try_scratch_mount || \
> + _notrun "mount failed"
> +
> +touch $SCRATCH_MNT/f
> +
> +fs_awu_min=$(_get_atomic_write_unit_min $SCRATCH_MNT/f)
> +fs_awu_max=$(_get_atomic_write_unit_max $SCRATCH_MNT/f)
> +bs=$(_max 4096 "$fs_awu_min")
> +ps=$(_get_page_size)
> +
> +_scratch_unmount
>
> function create_fio_configs()
> {
> @@ -146,10 +155,11 @@ run_test_one() {
> local cs=$2
> local iosize=$3
>
> + echo "Testing: bs=$bs cs=$cs iosize=$iosize" >> $seqres.full
> +
> MKFS_OPTIONS="-O bigalloc -b $bs -C $cs"
> _scratch_mkfs_sized "$FSSIZE" >> $seqres.full 2>&1 || return
> if _try_scratch_mount >> $seqres.full 2>&1; then
> - echo "Testing: bs=$bs cs=$cs iosize=$iosize" >> $seqres.full
>
> touch $SCRATCH_MNT/f1
> create_fio_configs $iosize
> @@ -175,7 +185,7 @@ run_test() {
> # cluster sizes above 16 x blocksize are experimental so avoid them
> # Also, cap cluster size at 128kb to keep it reasonable for large
> # blocks size
> - max_cs=$(_min $((16 * bs)) "$bdev_awu_max" $((128 * 1024)))
> + max_cs=$(_min $((16 * bs)) "$fs_awu_max" $((128 * 1024)))
>
> # Fuzz for combinations of blocksize, clustersize and
> # iosize that cover most of the cases
> @@ -193,7 +203,9 @@ fio_out=$tmp.fio.out
> create_fio_configs $bs
> _require_fio $fio_aw_config
>
> -for ((bs=$bs; bs <= $(_get_page_size); bs = $bs << 1)); do
> +echo "Awu min: $fs_awu_min Awu max: $fs_awu_max" >> $seqres.full
> +
> +for ((bs=$fs_awu_min; bs <= $(_min ps fs_awu_max); bs = $bs << 1)); do
> run_test $bs $cs $iosize
> done
>
> --
> 2.53.0
>
>
prev parent reply other threads:[~2026-04-01 14:33 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-01 10:40 [PATCH 1/4] ext4/061,062: Minor fixes and refactoring Ojaswin Mujoo
2026-04-01 10:40 ` [PATCH 2/4] generic/765: Fix sysfs path for nvme partitions Ojaswin Mujoo
2026-04-01 14:08 ` Darrick J. Wong
2026-04-05 15:07 ` Ojaswin Mujoo
2026-04-06 15:43 ` Darrick J. Wong
2026-04-07 14:48 ` Ojaswin Mujoo
2026-04-01 10:40 ` [PATCH 3/4] generic/765: Ignore mkfs warning Ojaswin Mujoo
2026-04-01 14:30 ` Darrick J. Wong
2026-04-05 14:10 ` Ojaswin Mujoo
2026-04-01 10:40 ` [PATCH 4/4] generic/775: Fix an infinite loop due to variable name clash Ojaswin Mujoo
2026-04-01 14:32 ` Darrick J. Wong
2026-04-05 14:07 ` Ojaswin Mujoo
2026-04-06 15:39 ` Darrick J. Wong
2026-04-01 14:33 ` Darrick J. Wong [this message]
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=20260401143302.GJ6212@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=disgoel@linux.ibm.com \
--cc=fstests@vger.kernel.org \
--cc=ojaswin@linux.ibm.com \
--cc=zlang@redhat.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