[PATCH v2] generic/366: check minimum dio size correctly
Christoph Hellwig <[email protected]> Wed, 17 Jun 2026 08:04:17 +0200
| Newsgroups | org.kernel.vger.fstests |
|---|---|
| Message-ID | <[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]> --- Changes since v1: - only calculate the block size once, based on a code snipplet from Zorro Lang tests/generic/366 | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tests/generic/366 b/tests/generic/366 index 271a01bc2eac..cb183c1bfe21 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.53.0