Introduce new option: iodepth_batch_complete_max
[fio.git] / thread_options.h
index 611f8e7376fab6eff15272bb08adb62ec09270ab..5ef560ef157d02e58f7c42f74f5a0780a9feefc0 100644 (file)
@@ -7,6 +7,7 @@
 #include "stat.h"
 #include "gettime.h"
 #include "lib/ieee754.h"
+#include "lib/pattern.h"
 #include "td_error.h"
 
 /*
@@ -53,7 +54,8 @@ struct thread_options {
        unsigned int iodepth;
        unsigned int iodepth_low;
        unsigned int iodepth_batch;
-       unsigned int iodepth_batch_complete;
+       unsigned int iodepth_batch_complete_min;
+       unsigned int iodepth_batch_complete_max;
 
        unsigned long long size;
        unsigned long long io_limit;
@@ -97,6 +99,8 @@ struct thread_options {
        unsigned int verify_offset;
        char verify_pattern[MAX_PATTERN_SIZE];
        unsigned int verify_pattern_bytes;
+       struct pattern_fmt verify_fmt[8];
+       unsigned int verify_fmt_sz;
        unsigned int verify_fatal;
        unsigned int verify_dump;
        unsigned int verify_async;
@@ -129,6 +133,7 @@ struct thread_options {
 
        fio_fp64_t zipf_theta;
        fio_fp64_t pareto_h;
+       fio_fp64_t gauss_dev;
 
        unsigned int random_generator;
 
@@ -178,6 +183,7 @@ struct thread_options {
        unsigned int file_service_type;
        unsigned int group_reporting;
        unsigned int fadvise_hint;
+       unsigned int fadvise_stream;
        enum fio_fallocate_mode fallocate_mode;
        unsigned int zero_buffers;
        unsigned int refill_buffers;
@@ -221,6 +227,7 @@ struct thread_options {
        unsigned int rate[DDIR_RWDIR_CNT];
        unsigned int ratemin[DDIR_RWDIR_CNT];
        unsigned int ratecycle;
+       unsigned int io_submit_mode;
        unsigned int rate_iops[DDIR_RWDIR_CNT];
        unsigned int rate_iops_min[DDIR_RWDIR_CNT];
 
@@ -259,6 +266,17 @@ struct thread_options {
        unsigned long long latency_target;
        unsigned long long latency_window;
        fio_fp64_t latency_percentile;
+
+       unsigned block_error_hist;
+       unsigned int skip_bad;
+
+       unsigned int replay_align;
+       unsigned int replay_scale;
+
+       unsigned int per_job_logs;
+
+       unsigned int allow_create;
+       unsigned int allow_mounted_write;
 };
 
 #define FIO_TOP_STR_MAX                256
@@ -282,7 +300,9 @@ struct thread_options_pack {
        uint32_t iodepth;
        uint32_t iodepth_low;
        uint32_t iodepth_batch;
-       uint32_t iodepth_batch_complete;
+       uint32_t iodepth_batch_complete_min;
+       uint32_t iodepth_batch_complete_max;
+       uint32_t __proper_alignment_for_64b;
 
        uint64_t size;
        uint64_t io_limit;
@@ -354,8 +374,10 @@ struct thread_options_pack {
 
        uint32_t random_distribution;
        uint32_t pad;
+
        fio_fp64_t zipf_theta;
        fio_fp64_t pareto_h;
+       fio_fp64_t gauss_dev;
 
        uint32_t random_generator;
 
@@ -401,6 +423,7 @@ struct thread_options_pack {
        uint32_t file_service_type;
        uint32_t group_reporting;
        uint32_t fadvise_hint;
+       uint32_t fadvise_stream;
        uint32_t fallocate_mode;
        uint32_t zero_buffers;
        uint32_t refill_buffers;
@@ -426,7 +449,6 @@ struct thread_options_pack {
        uint64_t trim_backlog;
        uint32_t clat_percentiles;
        uint32_t percentile_precision;
-       uint32_t pad2;
        fio_fp64_t percentile_list[FIO_IO_U_LIST_MAX_LEN];
 
        uint8_t read_iolog_file[FIO_TOP_STR_MAX];
@@ -445,6 +467,7 @@ struct thread_options_pack {
        uint32_t rate[DDIR_RWDIR_CNT];
        uint32_t ratemin[DDIR_RWDIR_CNT];
        uint32_t ratecycle;
+       uint32_t io_submit_mode;
        uint32_t rate_iops[DDIR_RWDIR_CNT];
        uint32_t rate_iops_min[DDIR_RWDIR_CNT];
 
@@ -482,8 +505,18 @@ struct thread_options_pack {
 
        uint64_t latency_target;
        uint64_t latency_window;
-       uint32_t pad3;
        fio_fp64_t latency_percentile;
+
+       uint32_t block_error_hist;
+       uint32_t skip_bad;
+
+       uint32_t replay_align;
+       uint32_t replay_scale;
+
+       uint32_t per_job_logs;
+
+       uint32_t allow_create;
+       uint32_t allow_mounted_write;
 } __attribute__((packed));
 
 extern void convert_thread_options_to_cpu(struct thread_options *o, struct thread_options_pack *top);