zbd: add missing client/server support for option max_open_zones
authorNiklas Cassel <niklas.cassel@wdc.com>
Thu, 27 May 2021 11:12:31 +0000 (11:12 +0000)
committerJens Axboe <axboe@kernel.dk>
Thu, 27 May 2021 22:04:56 +0000 (16:04 -0600)
Ensure that we convert the max_open_zones option for client/server.

Use __cpu_to_le32()/__le32_to_cpu() rather than
cpu_to_le32()/le32_to_cpu(), since max_open_zones is defined
as int rather than unsigned int in thread_options.h.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
cconv.c
server.h
thread_options.h

diff --git a/cconv.c b/cconv.c
index aa06e3ea6ee7004cc4b65d99839a83f492766d9c..d4dfb81b3f473d916217f3f3c17791dffab0f8ed 100644 (file)
--- a/cconv.c
+++ b/cconv.c
@@ -231,6 +231,7 @@ void convert_thread_options_to_cpu(struct thread_options *o,
        o->zone_capacity = le64_to_cpu(top->zone_capacity);
        o->zone_skip = le64_to_cpu(top->zone_skip);
        o->zone_mode = le32_to_cpu(top->zone_mode);
+       o->max_open_zones = __le32_to_cpu(top->max_open_zones);
        o->lockmem = le64_to_cpu(top->lockmem);
        o->offset_increment_percent = le32_to_cpu(top->offset_increment_percent);
        o->offset_increment = le64_to_cpu(top->offset_increment);
@@ -573,6 +574,7 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
        top->zone_capacity = __cpu_to_le64(o->zone_capacity);
        top->zone_skip = __cpu_to_le64(o->zone_skip);
        top->zone_mode = __cpu_to_le32(o->zone_mode);
+       top->max_open_zones = __cpu_to_le32(o->max_open_zones);
        top->lockmem = __cpu_to_le64(o->lockmem);
        top->ddir_seq_add = __cpu_to_le64(o->ddir_seq_add);
        top->file_size_low = __cpu_to_le64(o->file_size_low);
index b45b319ba2013e56ecc87056e8e0b6ca1aaec6e2..8cf3a60b4b0413c4f315902119b5adc3107ca3d2 100644 (file)
--- a/server.h
+++ b/server.h
@@ -48,7 +48,7 @@ struct fio_net_cmd_reply {
 };
 
 enum {
-       FIO_SERVER_VER                  = 89,
+       FIO_SERVER_VER                  = 90,
 
        FIO_SERVER_MAX_FRAGMENT_PDU     = 1024,
        FIO_SERVER_MAX_CMD_MB           = 2048,
index 5ecc72d7b590c37615d3625bff10a0ea907a5f1d..4d48e462999cf416d8ea8a6f24e84b82cd3193ec 100644 (file)
@@ -656,6 +656,7 @@ struct thread_options_pack {
        uint32_t allow_mounted_write;
 
        uint32_t zone_mode;
+       int32_t max_open_zones;
 } __attribute__((packed));
 
 extern void convert_thread_options_to_cpu(struct thread_options *o, struct thread_options_pack *top);