[RFC PATCH v4 01/11] generic/366: check minimum dio size correctly
Artem Blagodarenko <[email protected]> Mon, 27 Jul 2026 17:13:34 -0400
| Newsgroups | org.kernel.vger.linux-ext4 |
|---|---|
| Message-ID | <[email protected]> |
From: Christoph Hellwig <[email protected]> min_dio_alignment requires the file system to be checked to be mounted, so move the call into the main loop. Drop the pointless blocksize argument to _require_odirect, which is only tested on the test device. Signed-off-by: Christoph Hellwig <[email protected]> Reviewed-by: Zorro Lang <[email protected]> Signed-off-by: Zorro Lang <[email protected]> --- tests/generic/366 | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tests/generic/366 b/tests/generic/366 index 271a01bc..cb183c1b 100755 --- a/tests/generic/366 +++ b/tests/generic/366 @@ -20,7 +20,7 @@ _begin_fstest auto quick rw . ./common/filter _require_scratch -_require_odirect 512 # see fio job1 config below +_require_odirect _require_aio _fixed_by_fs_commit btrfs xxxxxxxxxxxx \ @@ -30,7 +30,7 @@ iterations=$((32 * LOAD_FACTOR)) fio_config=$tmp.fio fio_out=$tmp.fio.out -blksz=`$here/src/min_dio_alignment $SCRATCH_MNT $SCRATCH_DEV` + cat >$fio_config <<EOF [global] bs=8k @@ -57,9 +57,19 @@ filename=file1 EOF _require_fio $fio_config +blksz="" + for (( i = 0; i < $iterations; i++)); do _scratch_mkfs >>$seqres.full 2>&1 _scratch_mount + + if [ -z "$blksz" ]; then + blksz=`$here/src/min_dio_alignment $SCRATCH_MNT $SCRATCH_DEV` + if [[ $blksz -gt 512 ]]; then + _notrun "512 byte dio alignment required" + fi + fi + # There's a known EIO failure to report collisions between directio and buffered # writes to userspace, refer to upstream linux 5a9d929d6e13. So ignore EIO error # at here. -- 2.43.7