Re: [PATCH 09/11] t/zbd: modify test case #34 for block size unaligned to zone size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.





[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux