#include <sys/stat.h>
#include <unistd.h>
#include <linux/blkzoned.h>
+
#include "file.h"
#include "fio.h"
#include "lib/pow2.h"
#include "log.h"
+#include "oslib/asprintf.h"
#include "smalloc.h"
#include "verify.h"
#include "zbd.h"
if (!zbd_is_seq_job(f))
continue;
+ if (!td->o.zone_size) {
+ td->o.zone_size = f->zbd_info->zone_size;
+ if (!td->o.zone_size) {
+ log_err("%s: invalid 0 zone size\n",
+ f->file_name);
+ return false;
+ }
+ } else if (td->o.zone_size != f->zbd_info->zone_size) {
+ log_err("%s: job parameter zonesize %llu does not match disk zone size %llu.\n",
+ f->file_name, (unsigned long long) td->o.zone_size,
+ (unsigned long long) f->zbd_info->zone_size);
+ return false;
+ }
+
if (td->o.zone_skip &&
(td->o.zone_skip < td->o.zone_size ||
td->o.zone_skip % td->o.zone_size)) {