engines/rbd: remove unused rbd_options->td
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index df0d020089dede57b7c5ea700e6ea1b658f04e3d..f453d92a98d4e088744ac9e06f73382a4c4bea07 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -89,6 +89,7 @@ enum {
        FIO_RAND_SEQ_RAND_WRITE_OFF,
        FIO_RAND_SEQ_RAND_TRIM_OFF,
        FIO_RAND_START_DELAY,
+       FIO_DEDUPE_OFF,
        FIO_RAND_NR_OFFS,
 };
 
@@ -102,6 +103,7 @@ struct thread_data {
        char verror[FIO_VERROR_SIZE];
        pthread_t thread;
        unsigned int thread_number;
+       unsigned int subjob_number;
        unsigned int groupid;
        struct thread_stat ts;
 
@@ -176,6 +178,8 @@ struct thread_data {
        };
 
        struct frand_state buf_state;
+       struct frand_state buf_state_prev;
+       struct frand_state dedupe_state;
 
        unsigned int verify_batch;
        unsigned int trim_batch;
@@ -254,6 +258,7 @@ struct thread_data {
        struct timeval epoch;   /* time job was started */
        struct timeval last_issue;
        struct timeval tv_cache;
+       struct timeval terminate_time;
        unsigned int tv_cache_nr;
        unsigned int tv_cache_mask;
        unsigned int ramp_time_over;
@@ -398,10 +403,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)));
 }
@@ -486,8 +493,15 @@ extern void td_set_runstate(struct thread_data *, int);
 extern int td_bump_runstate(struct thread_data *, int);
 extern void td_restore_runstate(struct thread_data *, int);
 
+/*
+ * Allow 60 seconds for a job to quit on its own, otherwise reap with
+ * a vengeance.
+ */
+#define FIO_REAP_TIMEOUT       60
+
 #define TERMINATE_ALL          (-1)
 extern void fio_terminate_threads(int);
+extern void fio_mark_td_terminate(struct thread_data *);
 
 /*
  * Memory helpers