#include "syslet.h"
#endif
+#ifdef FIO_HAVE_GUASI
+#include <guasi.h>
+#endif
+
enum fio_ddir {
DDIR_READ = 0,
DDIR_WRITE,
#endif
#ifdef FIO_HAVE_SYSLET
struct syslet_req req;
+#endif
+#ifdef FIO_HAVE_GUASI
+ guasi_req_t greq;
#endif
};
struct timeval start_time;
enum fio_memtype mem_type;
unsigned int stonewall;
+ unsigned int new_group;
unsigned int numjobs;
os_cpu_mask_t cpumask;
unsigned int iolog;
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;
* read/write mixed workload state
*/
os_random_state_t rwmix_state;
+ unsigned long long rwmix_bytes;
struct timeval rwmix_switch;
enum fio_ddir rwmix_ddir;
extern void get_file(struct fio_file *);
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 *);
/*
* ETA/status stuff