Get rid of _set variables
[fio.git] / thread_options.h
index f311e2c62a53c898f25c12bd09764f5b2be879b3..530dd9a6f460e7b33a2c86efa62a6f0d45ffb93b 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "arch/arch.h"
 #include "os/os.h"
+#include "options.h"
 #include "stat.h"
 #include "gettime.h"
 #include "lib/ieee754.h"
@@ -28,10 +29,13 @@ struct bssplit {
        uint32_t perc;
 };
 
+#define NR_OPTS_SZ     (FIO_MAX_OPTS / (8 * sizeof(uint64_t)))
+
 #define OPT_MAGIC      0x4f50544e
 
 struct thread_options {
        int magic;
+       uint64_t set_options[NR_OPTS_SZ];
        char *description;
        char *name;
        char *directory;
@@ -159,16 +163,12 @@ struct thread_options {
        unsigned int new_group;
        unsigned int numjobs;
        os_cpu_mask_t cpumask;
-       unsigned int cpumask_set;
        os_cpu_mask_t verify_cpumask;
-       unsigned int verify_cpumask_set;
        unsigned int cpus_allowed_policy;
        char *numa_cpunodes;
-       unsigned int numa_cpumask_set;
        unsigned short numa_mem_mode;
        unsigned int numa_mem_prefer_node;
        char *numa_memnodes;
-       unsigned int numa_memmask_set;
        unsigned int iolog;
        unsigned int rwmixcycle;
        unsigned int rwmix[DDIR_RWDIR_CNT];
@@ -265,6 +265,7 @@ struct thread_options {
 #define FIO_TOP_STR_MAX                256
 
 struct thread_options_pack {
+       uint64_t set_options[NR_OPTS_SZ];
        uint8_t description[FIO_TOP_STR_MAX];
        uint8_t name[FIO_TOP_STR_MAX];
        uint8_t directory[FIO_TOP_STR_MAX];
@@ -334,7 +335,6 @@ struct thread_options_pack {
        uint32_t experimental_verify;
        uint32_t verify_state;
        uint32_t verify_state_save;
-       uint32_t pad;
        uint32_t use_thread;
        uint32_t unlink;
        uint32_t do_disk_util;
@@ -354,6 +354,7 @@ struct thread_options_pack {
        uint32_t bs_is_seq_rand;
 
        uint32_t random_distribution;
+       uint32_t pad;
        fio_fp64_t zipf_theta;
        fio_fp64_t pareto_h;
 
@@ -390,9 +391,7 @@ struct thread_options_pack {
        uint32_t new_group;
        uint32_t numjobs;
        uint8_t cpumask[FIO_TOP_STR_MAX];
-       uint32_t cpumask_set;
        uint8_t verify_cpumask[FIO_TOP_STR_MAX];
-       uint32_t verify_cpumask_set;
        uint32_t cpus_allowed_policy;
        uint32_t iolog;
        uint32_t rwmixcycle;