On Fri, Jun 26, 2020 at 05:45:49AM +0000, Damien Le Moal wrote: >On 2020/06/26 2:41, Krishna Kanth Reddy wrote: >> Modify the test-zbd-support script to verify the Zone Append command >> for NVMe Zoned Namespaces (ZNS) defined in NVM Express TP4053. >> Added a new FIO option zone_append. >> When zone_append option is enabled, the existing write path will >> send Zone Append command with LBA offset as start of the Zone. >> >> Signed-off-by: Ankit Kumar >> --- >> t/zbd/test-zbd-support | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 48 insertions(+) >> >> diff --git a/t/zbd/test-zbd-support b/t/zbd/test-zbd-support >> index 4001be3..ddade22 100755 >> --- a/t/zbd/test-zbd-support >> +++ b/t/zbd/test-zbd-support >> @@ -801,6 +801,54 @@ test48() { >> >> "${logfile}.${test_number}" 2>&1 || return $? >> } >> >> +# Zone append to sequential zones, libaio, 1 job, queue depth 1 >> +test49() { >> + local i size >> + >> + size=$((4 * zone_size)) >> + run_fio_on_seq --ioengine=libaio --iodepth=1 --rw=write --zone_append=1 \ >> + --bs="$(max $((zone_size / 64)) "$logical_block_size")"\ >> + --do_verify=1 --verify=md5 \ >> + >>"${logfile}.${test_number}" 2>&1 || return $? >> + check_written $size || return $? >> + check_read $size || return $? >> +} >> + >> +# Random zone append to sequential zones, libaio, 8 jobs, queue depth 64 per job >> +test50() { >> + local size >> + >> + size=$((4 * zone_size)) >> + run_fio_on_seq --ioengine=libaio --iodepth=64 --rw=randwrite --bs=4K \ >> + --group_reporting=1 --numjobs=8 --zone_append=1 \ >> + >> "${logfile}.${test_number}" 2>&1 || return $? >> + check_written $((size * 8)) || return $? >> +} >> + >> +# Zone append to sequential zones, io_uring, 1 job, queue depth 1 >> +test51() { >> + local i size >> + >> + size=$((4 * zone_size)) >> + run_fio_on_seq --ioengine=io_uring --iodepth=1 --rw=write --zone_append=1 \ >> + --bs="$(max $((zone_size / 64)) "$logical_block_size")"\ >> + --do_verify=1 --verify=md5 \ >> + >>"${logfile}.${test_number}" 2>&1 || return $? >> + check_written $size || return $? >> + check_read $size || return $? >> +} >> + >> +# Random zone append to sequential zones, io_uring, 8 jobs, queue depth 64 per job >> +test52() { >> + local size >> + >> + size=$((4 * zone_size)) >> + run_fio_on_seq --ioengine=io_uring --iodepth=64 --rw=randwrite --bs=4K \ >> + --group_reporting=1 --numjobs=8 --zone_append=1 \ >> + >> "${logfile}.${test_number}" 2>&1 || return $? >> + check_written $((size * 8)) || return $? >> +} >> + >> tests=() >> dynamic_analyzer=() >> reset_all_zones= >> > >If the test script was called using an SG node with -l option for libzbc tests, >these tests will fail. Please add conditions to not run them when they cannot. > Sure, we will add the conditions to not execute tests in such cases. > >-- >Damien Le Moal >Western Digital Research >