Fio 2.1.14
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index 136b43089285e1887a417c60d8f63a3d635e1176..28f459750bf53949541609015d62b3cead4ea97d 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -137,8 +137,7 @@ struct thread_data {
        unsigned int nr_normal_files;
        union {
                unsigned int next_file;
-               os_random_state_t next_file_state;
-               struct frand_state __next_file_state;
+               struct frand_state next_file_state;
        };
        int error;
        int sig;
@@ -160,22 +159,10 @@ struct thread_data {
 
        unsigned long rand_seeds[FIO_RAND_NR_OFFS];
 
-       union {
-               os_random_state_t bsrange_state;
-               struct frand_state __bsrange_state;
-       };
-       union {
-               os_random_state_t verify_state;
-               struct frand_state __verify_state;
-       };
-       union {
-               os_random_state_t trim_state;
-               struct frand_state __trim_state;
-       };
-       union {
-               os_random_state_t delay_state;
-               struct frand_state __delay_state;
-       };
+       struct frand_state bsrange_state;
+       struct frand_state verify_state;
+       struct frand_state trim_state;
+       struct frand_state delay_state;
 
        struct frand_state buf_state;
        struct frand_state buf_state_prev;
@@ -249,10 +236,7 @@ struct thread_data {
        /*
         * State for random io, a bitmap of blocks done vs not done
         */
-       union {
-               os_random_state_t random_state;
-               struct frand_state __random_state;
-       };
+       struct frand_state random_state;
 
        struct timeval start;   /* start of this loop */
        struct timeval epoch;   /* time job was started */
@@ -277,10 +261,7 @@ struct thread_data {
        /*
         * read/write mixed workload state
         */
-       union {
-               os_random_state_t rwmix_state;
-               struct frand_state __rwmix_state;
-       };
+       struct frand_state rwmix_state;
        unsigned long rwmix_issues;
        enum fio_ddir rwmix_ddir;
        unsigned int ddir_seq_nr;
@@ -288,10 +269,7 @@ struct thread_data {
        /*
         * rand/seq mixed workload state
         */
-       union {
-               os_random_state_t seq_rand_state[DDIR_RWDIR_CNT];
-               struct frand_state __seq_rand_state[DDIR_RWDIR_CNT];
-       };
+       struct frand_state seq_rand_state[DDIR_RWDIR_CNT];
 
        /*
         * IO history logs for verification. We use a tree for sorting,
@@ -326,10 +304,7 @@ struct thread_data {
        /*
         * For generating file sizes
         */
-       union {
-               os_random_state_t file_size_state;
-               struct frand_state __file_size_state;
-       };
+       struct frand_state file_size_state;
 
        /*
         * Error counts
@@ -403,10 +378,12 @@ extern int nr_clients;
 extern int log_syslog;
 extern int status_interval;
 extern const char fio_version_string[];
+extern int helper_do_stat;
+extern pthread_cond_t helper_cond;
 
 extern struct thread_data *threads;
 
-static inline void fio_ro_check(struct thread_data *td, struct io_u *io_u)
+static inline void fio_ro_check(const struct thread_data *td, struct io_u *io_u)
 {
        assert(!(io_u->ddir == DDIR_WRITE && !td_write(td)));
 }