Fix memory leak on tmp_buf
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index 0da0bc5d97442544d2b2269b32c7b8ae64c79ba3..74c1b306af26d7d8e850664f81af2f94d48f3c1c 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -311,6 +311,7 @@ struct thread_data {
 
        struct timeval start;   /* start of this loop */
        struct timeval epoch;   /* time job was started */
+       unsigned long long unix_epoch; /* Time job was started, unix epoch based. */
        struct timeval last_issue;
        long time_offset;
        struct timeval tv_cache;
@@ -475,7 +476,7 @@ 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)));
 }
 
-#define REAL_MAX_JOBS          2048
+#define REAL_MAX_JOBS          4096
 
 static inline int should_fsync(struct thread_data *td)
 {
@@ -563,7 +564,8 @@ enum {
 
 static inline enum fio_ioengine_flags td_ioengine_flags(struct thread_data *td)
 {
-       return (td->flags >> TD_ENG_FLAG_SHIFT) & TD_ENG_FLAG_MASK;
+       return (enum fio_ioengine_flags)
+               ((td->flags >> TD_ENG_FLAG_SHIFT) & TD_ENG_FLAG_MASK);
 }
 
 static inline void td_set_ioengine_flags(struct thread_data *td)
@@ -571,9 +573,10 @@ static inline void td_set_ioengine_flags(struct thread_data *td)
        td->flags |= (td->io_ops->flags << TD_ENG_FLAG_SHIFT);
 }
 
-static inline bool td_ioengine_flagged(struct thread_data *td, unsigned int val)
+static inline bool td_ioengine_flagged(struct thread_data *td,
+                                      enum fio_ioengine_flags flags)
 {
-       return ((td->flags >> TD_ENG_FLAG_SHIFT) & val) != 0;
+       return ((td->flags >> TD_ENG_FLAG_SHIFT) & flags) != 0;
 }
 
 extern void td_set_runstate(struct thread_data *, int);
@@ -585,7 +588,7 @@ extern const char *runstate_to_name(int runstate);
  * Allow 60 seconds for a job to quit on its own, otherwise reap with
  * a vengeance.
  */
-#define FIO_REAP_TIMEOUT       60
+#define FIO_REAP_TIMEOUT       300
 
 #define TERMINATE_ALL          (-1U)
 extern void fio_terminate_threads(unsigned int);