The following changes since commit 6a9a9bd2c524a7ef58d2fb8181038408155902b8: t/nvmept_trim: increase transfer size for some tests (2024-04-25 14:25:54 -0400) are available in the Git repository at: git://git.kernel.dk/fio.git master for you to fetch changes up to 3ed8eea0ee9b5d7de603e9b128e6c05941b99938: t/zbd: avoid test case 31 failure with small devices (2024-04-30 11:11:58 -0400) ---------------------------------------------------------------- Shin'ichiro Kawasaki (3): zbd: remove unnecessary verify_backlog check in zbd_file_reset() t/zbd: add test case to confirm verify_backlog=1 options t/zbd: avoid test case 31 failure with small devices t/zbd/test-zbd-support | 19 +++++++++++++++++-- zbd.c | 3 --- 2 files changed, 17 insertions(+), 5 deletions(-) --- Diff of recent changes: diff --git a/t/zbd/test-zbd-support b/t/zbd/test-zbd-support index c27d2ad6..e0b2a755 100755 --- a/t/zbd/test-zbd-support +++ b/t/zbd/test-zbd-support @@ -852,12 +852,15 @@ test31() { # To distribute the write target zones evenly, skip certain zones for every # write. Utilize zonemode strided for such write patterns. bs=$((128 * 1024)) + off=$((first_sequential_zone_sector * 512)) + size=$((disk_size - off)) nz=$((max_open_zones)) if [[ $nz -eq 0 ]]; then nz=128 fi - off=$((first_sequential_zone_sector * 512)) - size=$((disk_size - off)) + if ((size / zone_size < nz)); then + nz=$((size / zone_size)) + fi inc=$(((size / nz / zone_size) * zone_size)) opts=("--name=$dev" "--filename=$dev" "--rw=write" "--bs=${bs}") opts+=("--offset=$off" "--size=$((inc * nz))" "--io_size=$((bs * nz))") @@ -1593,6 +1596,18 @@ test68() { [[ $(grep -c "WRITE:" "${logfile}.${test_number}") == 1 ]] } +# Test rw=rw and verify_backlog=1 options do not cause verify failure +test69() { + require_zbd || return "$SKIP_TESTCASE" + + prep_write + run_fio --name=job --filename="$dev" --time_based --runtime=15s \ + --rw=rw --offset=$((first_sequential_zone_sector * 512)) \ + "$(ioengine "libaio")" --iodepth=32 --randrepeat=0 \ + --verify=crc32 --verify_backlog=1 --zonemode=zbd --direct=1 \ + >> "${logfile}.${test_number}" 2>&1 || return $? +} + SECONDS=0 tests=() dynamic_analyzer=() diff --git a/zbd.c b/zbd.c index 37417660..8a092cbe 100644 --- a/zbd.c +++ b/zbd.c @@ -1361,9 +1361,6 @@ void zbd_file_reset(struct thread_data *td, struct fio_file *f) if (td->o.verify != VERIFY_NONE) { verify_data_left = td->runstate == TD_VERIFYING || td->io_hist_len || td->verify_batch; - if (td->io_hist_len && td->o.verify_backlog) - verify_data_left = - td->io_hist_len % td->o.verify_backlog; if (!verify_data_left) zbd_reset_zones(td, f, zb, ze); }