The following changes since commit 870ea00243b1290541334bec2a56428c9f68dba6: io_ur: make sure that sync errors are noticed upfront (2023-05-19 19:30:38 -0600) are available in the Git repository at: git://git.kernel.dk/fio.git master for you to fetch changes up to 5a649e2dddc4d8ad163b0cf57f7cea00a2e94a33: Fio 3.35 (2023-05-23 12:33:03 -0600) ---------------------------------------------------------------- Bart Van Assche (2): zbd: Make an error message more detailed zbd: Report the zone capacity Jens Axboe (1): Fio 3.35 Vincent Fu (1): Merge branch 'master' of https://github.com/bvanassche/fio FIO-VERSION-GEN | 2 +- zbd.c | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) --- Diff of recent changes: diff --git a/FIO-VERSION-GEN b/FIO-VERSION-GEN index f1585d34..4b0d56d0 100755 --- a/FIO-VERSION-GEN +++ b/FIO-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=FIO-VERSION-FILE -DEF_VER=fio-3.34 +DEF_VER=fio-3.35 LF=' ' diff --git a/zbd.c b/zbd.c index 351b3971..5f1a7d7f 100644 --- a/zbd.c +++ b/zbd.c @@ -213,8 +213,8 @@ static int zbd_report_zones(struct thread_data *td, struct fio_file *f, ret = blkzoned_report_zones(td, f, offset, zones, nr_zones); if (ret < 0) { td_verror(td, errno, "report zones failed"); - log_err("%s: report zones from sector %"PRIu64" failed (%d).\n", - f->file_name, offset >> 9, errno); + log_err("%s: report zones from sector %"PRIu64" failed (nr_zones=%d; errno=%d).\n", + f->file_name, offset >> 9, nr_zones, errno); } else if (ret == 0) { td_verror(td, errno, "Empty zone report"); log_err("%s: report zones from sector %"PRIu64" is empty.\n", @@ -776,7 +776,8 @@ static int parse_zone_info(struct thread_data *td, struct fio_file *f) int nr_zones, nrz; struct zbd_zone *zones, *z; struct fio_zone_info *p; - uint64_t zone_size, offset; + uint64_t zone_size, offset, capacity; + bool same_zone_cap = true; struct zoned_block_device_info *zbd_info = NULL; int i, j, ret = -ENOMEM; @@ -793,6 +794,7 @@ static int parse_zone_info(struct thread_data *td, struct fio_file *f) } zone_size = zones[0].len; + capacity = zones[0].capacity; nr_zones = (f->real_file_size + zone_size - 1) / zone_size; if (td->o.zone_size == 0) { @@ -821,6 +823,8 @@ static int parse_zone_info(struct thread_data *td, struct fio_file *f) PTHREAD_MUTEX_RECURSIVE); p->start = z->start; p->capacity = z->capacity; + if (capacity != z->capacity) + same_zone_cap = false; switch (z->cond) { case ZBD_ZONE_COND_NOT_WP: @@ -876,6 +880,11 @@ static int parse_zone_info(struct thread_data *td, struct fio_file *f) f->zbd_info->zone_size_log2 = is_power_of_2(zone_size) ? ilog2(zone_size) : 0; f->zbd_info->nr_zones = nr_zones; + + if (same_zone_cap) + dprint(FD_ZBD, "Zone capacity = %"PRIu64" KB\n", + capacity / 1024); + zbd_info = NULL; ret = 0;