TD_F_NEED_LOCK = 1U << 11,
TD_F_CHILD = 1U << 12,
TD_F_NO_PROGRESS = 1U << 13,
+ TD_F_REGROW_LOGS = 1U << 14,
};
enum {
struct io_log *slat_log;
struct io_log *clat_log;
+ struct io_log *clat_hist_log;
struct io_log *lat_log;
struct io_log *bw_log;
struct io_log *iops_log;
unsigned int next_file;
struct frand_state next_file_state;
};
+ union {
+ struct zipf_state next_file_zipf;
+ struct gauss_state next_file_gauss;
+ };
+ union {
+ double zipf_theta;
+ double pareto_h;
+ double gauss_dev;
+ };
int error;
int sig;
int done;
*/
struct ioengine_ops *io_ops;
+ /*
+ * IO engine private data and dlhandle.
+ */
+ void *io_ops_data;
+ void *io_ops_dlhandle;
+
/*
* Queue depth of io_u's that fio MIGHT do
*/
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 char *trigger_file;
extern char *trigger_cmd;
extern char *trigger_remote_cmd;
extern void fio_options_mem_dupe(struct thread_data *);
extern void options_mem_dupe(void *data, struct fio_option *options);
extern void td_fill_rand_seeds(struct thread_data *);
+extern void td_fill_verify_state_seed(struct thread_data *);
extern void add_job_opts(const char **, int);
extern char *num2str(uint64_t, int, int, int, int);
extern int ioengine_load(struct thread_data *);