On Fri, 2022-10-21 at 15:34 +0900, Shin'ichiro Kawasaki wrote: > The test case #34 confirmed that the block size unaligned to zone size > is handled as an error. After recent fix, now fio is able to handle such > block sizes, then the check for the error is no longer required. > > Instead of removing this unnecessary test case, change it to cover > verify with complex workload. It runs read-write mix workload with high > queue depth with verify and block size unaligned to zone size. This test > is same as test case #57 except the verify option. > > Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> LGTM Tested-by: Dmitry Fomichev <dmitry.fomichev@xxxxxxx> Reviewed-by: Dmitry Fomichev <dmitry.fomichev@xxxxxxx> > --- > t/zbd/test-zbd-support | 24 +++++++++++++++--------- > 1 file changed, 15 insertions(+), 9 deletions(-) > > diff --git a/t/zbd/test-zbd-support b/t/zbd/test-zbd-support > index debe3763..e17a81de 100755 > --- a/t/zbd/test-zbd-support > +++ b/t/zbd/test-zbd-support > @@ -826,17 +826,23 @@ test33() { > check_written $((io_size / bs * bs)) || return $? > } > > -# Write to sequential zones with a block size that is not a divisor of the > -# zone size and with data verification enabled. > +# Test repeated async write job with verify. > test34() { > - local size > + local bs off > > - prep_write > - size=$((2 * zone_size)) > - run_fio_on_seq "$(ioengine "psync")" --iodepth=1 --rw=write --size=$size \ > - --do_verify=1 --verify=md5 --bs=$((3 * zone_size / 4)) \ > - >> "${logfile}.${test_number}" 2>&1 && return 1 > - grep -q 'not a divisor of' "${logfile}.${test_number}" > + require_zbd || return $SKIP_TESTCASE > + prep_write > + > + bs=$((4096 * 7)) > + off=$((first_sequential_zone_sector * 512)) > + > + run_fio --name=job --filename="${dev}" --rw=randwrite --bs="${bs}" \ > + --offset="${off}" --size=$((4 * zone_size)) --iodepth=256 \ > + "$(ioengine "libaio")" --time_based=1 --runtime=30s \ > + --zonemode=zbd --direct=1 --zonesize="${zone_size}" \ > + --verify=crc32c --do_verify=1 \ > + ${job_var_opts[@]} \ > + >> "${logfile}.${test_number}" 2>&1 || return $? > } > > # Test 1/4 for the I/O boundary rounding code: $size < $zone_size.