zbd: write to closed zones on the devices with max_active_zones limit
[fio.git] / zbd.c
diff --git a/zbd.c b/zbd.c
index a5cb34d228eed3b40db189f5f4d8bf862a81c317..b05d2360d927062842c2a380ce19ed760e2f385d 100644 (file)
--- a/zbd.c
+++ b/zbd.c
@@ -1276,7 +1276,11 @@ int zbd_setup_files(struct thread_data *td)
                for (zi = f->min_zone; zi < f->max_zone; zi++) {
                        z = &zbd->zone_info[zi];
                        if (z->cond != ZBD_ZONE_COND_IMP_OPEN &&
-                           z->cond != ZBD_ZONE_COND_EXP_OPEN)
+                           z->cond != ZBD_ZONE_COND_EXP_OPEN &&
+                           z->cond != ZBD_ZONE_COND_CLOSED)
+                               continue;
+                       if (!zbd->max_active_zones &&
+                           z->cond == ZBD_ZONE_COND_CLOSED)
                                continue;
                        if (__zbd_write_zone_get(td, f, z))
                                continue;