Re: [PATCH 08/11] t/zbd: fix test case #33 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:
> Recent fix of zonemode=zbd support for block size unaligned to zone size
> unveiled that the test case #33 has two issues.
> 
> First issue is test preparation. Before the fix, write was done to only
> to the first zone due to a bug in zone selection which happens when
> block size is not a divisor of zone size. Then, status of second zone
> did not affect. After the fix, write count to the zones may vary if the
> second zone has almost full status since the zone is skipped from write
> target. Fix this by resetting the write target zones.
> 
> Second issue is expected written data size. The test case checks that
> the written data size is larger than the io_size option value. This
> expectation was fine before the fix because data write was repeated in
> do_io() and the limit was checked with io_issue_bytes_exceeded(),
> which triggers loop break when written data is larger than io_size.
> However, after the fix, the limit is checked with keep_running() in
> thread_main(). According to code and block comment in keep_running(),
> fio job terminates even when written data size is smaller than io_size
> if the gap is smaller than maximum IO size. Then the expected written
> data size is the largest multiple of block size smaller than or equal to
> the io_size. This io_size check change resulted in the test case
> failure. Avoid the failure by fixing the expected written data size
> calculation.
> 
> 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 | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/t/zbd/test-zbd-support b/t/zbd/test-zbd-support
> index cdc03f28..debe3763 100755
> --- a/t/zbd/test-zbd-support
> +++ b/t/zbd/test-zbd-support
> @@ -813,7 +813,8 @@ test33() {
>      local bs io_size size
>      local off capacity=0;
>  
> -    prep_write
> +    [ -n "$is_zbd" ] && reset_zone "$dev" -1
> +
>      off=$((first_sequential_zone_sector * 512))
>      capacity=$(total_zone_capacity 1 $off $dev)
>      size=$((2 * zone_size))
> @@ -822,7 +823,7 @@ test33() {
>      run_fio_on_seq "$(ioengine "psync")" --iodepth=1 --rw=write        \
>                    --size=$size --io_size=$io_size --bs=$bs     \
>                    >> "${logfile}.${test_number}" 2>&1 || return $?
> -    check_written $(((io_size + bs - 1) / bs * bs)) || return $?
> +    check_written $((io_size / bs * bs)) || return $?
>  }
>  
>  # Write to sequential zones with a block size that is not a divisor of the





[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