Allow reset of offset_increment counter
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index 4d4af0a7917f12b5b666ca38ea06a038659dc3b3..dfbad6d6896e0a8181119b765c33fde2a4d9bc3d 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -73,6 +73,7 @@ enum {
        TD_F_PROFILE_OPS        = 64,
        TD_F_COMPRESS           = 128,
        TD_F_NOIO               = 256,
+       TD_F_COMPRESS_LOG       = 512,
 };
 
 enum {
@@ -101,6 +102,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;
 
@@ -112,6 +114,8 @@ struct thread_data {
        struct io_log *bw_log;
        struct io_log *iops_log;
 
+       struct tp_data *tp_data;
+
        uint64_t stat_io_bytes[DDIR_RWDIR_CNT];
        struct timeval bw_sample_time;
 
@@ -251,6 +255,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;
@@ -483,8 +488,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