Fix two error paths
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index 4d4af0a7917f12b5b666ca38ea06a038659dc3b3..c694f2cf40f1c48a9d332e36d25517878e5c02b1 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 {
@@ -112,6 +113,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 +254,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 +487,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