char *opendir;
char *ioengine;
enum td_ddir td_ddir;
+ unsigned int ddir_nr;
unsigned int iodepth;
unsigned int iodepth_low;
unsigned int iodepth_batch;
unsigned int iolog;
unsigned int read_iolog;
unsigned int rwmixcycle;
- unsigned int rwmixread;
- unsigned int rwmixwrite;
+ unsigned int rwmix[2];
unsigned int nice;
unsigned int file_service_type;
unsigned int group_reporting;
+ unsigned int fadvise_hint;
char *read_iolog_file;
char *write_iolog_file;
unsigned int cpucycle;
};
+#define FIO_VERROR_SIZE 128
+
/*
* This describes a single thread/process executing a fio job.
*/
struct thread_data {
struct thread_options o;
- char verror[128];
+ char verror[FIO_VERROR_SIZE];
pthread_t thread;
int thread_number;
int groupid;
struct timeval start; /* start of this loop */
struct timeval epoch; /* time job was started */
+ struct timeval rw_end[2];
+ unsigned int rw_end_set[2];
/*
* read/write mixed workload state
unsigned long long rwmix_bytes;
struct timeval rwmix_switch;
enum fio_ddir rwmix_ddir;
+ unsigned int ddir_nr;
/*
* IO historic logs
extern void put_file(struct thread_data *, struct fio_file *);
extern int add_dir_files(struct thread_data *, const char *);
extern int init_random_map(struct thread_data *);
+extern void dup_files(struct thread_data *, struct thread_data *);
/*
* ETA/status stuff