On 2021/03/26 13:59, Shin'ichiro Kawasaki wrote: > A recently fixed bug was caused by zone reset during asynchronous IOs > in-flight. The bug symptom was unaligned command error which was > observed using random write workload with libaio engine and block size > not a divisor of zone size. To confirm the bug fix and to prevent future > regression, add a test case which runs the workload. > > Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> > --- > t/zbd/test-zbd-support | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/t/zbd/test-zbd-support b/t/zbd/test-zbd-support > index be129615..26aff373 100755 > --- a/t/zbd/test-zbd-support > +++ b/t/zbd/test-zbd-support > @@ -1201,6 +1201,24 @@ test56() { > >> "${logfile}.${test_number}" 2>&1 || return $? > } > > +# Test that repeated async write job does not cause zone reset during writes > +# in-flight, when the block size is not a divisor of the zone size. > +test57() { > + local bs off > + > + require_zbd || return $SKIP_TESTCASE > + > + 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}" \ > + ${job_var_opts[@]} \ > + >> "${logfile}.${test_number}" 2>&1 || return $? > +} > + > SECONDS=0 > tests=() > dynamic_analyzer=() > Looks good. Reviewed-by: Damien Le Moal <damien.lemoal@xxxxxxx> -- Damien Le Moal Western Digital Research