One step closer to group reporting

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/fio.h b/fio.h
index daf316b..d1d02b0 100644
--- a/fio.h
+++ b/fio.h
@@ -248,6 +248,12 @@
 	unsigned int unlink;
 };
 
+/*
+ * How many depth levels to log
+ */
+#define FIO_IO_U_MAP_NR	8
+#define FIO_IO_U_LAT_NR 12
+
 struct thread_stat {
 	struct io_log *slat_log;
 	struct io_log *clat_log;
@@ -271,13 +277,14 @@
 	unsigned long usr_time;
 	unsigned long sys_time;
 	unsigned long ctx;
-};
 
-/*
- * How many depth levels to log
- */
-#define FIO_IO_U_MAP_NR	8
-#define FIO_IO_U_LAT_NR 12
+	/*
+	 * IO depth and latency stats
+	 */
+	unsigned int io_u_map[FIO_IO_U_MAP_NR];
+	unsigned int io_u_lat[FIO_IO_U_LAT_NR];
+	unsigned long total_io_u;
+};
 
 /*
  * This describes a single thread/process executing a fio job.
@@ -292,7 +299,8 @@
 	pthread_t thread;
 	int thread_number;
 	int groupid;
-	struct thread_stat ts;
+	struct thread_stat *ts;
+	struct thread_stat __ts;
 	enum fio_filetype filetype;
 	struct fio_file *files;
 	unsigned int nr_files;
@@ -361,6 +369,7 @@
 	unsigned int rwmixwrite;
 	unsigned int nice;
 	unsigned int file_service_type;
+	unsigned int group_reporting;
 
 	char *read_iolog_file;
 	char *write_iolog_file;
@@ -385,9 +394,6 @@
 	 * Current IO depth and list of free and busy io_u's.
 	 */
 	unsigned int cur_depth;
-	unsigned int io_u_map[FIO_IO_U_MAP_NR];
-	unsigned int io_u_lat[FIO_IO_U_LAT_NR];
-	unsigned long total_io_u;
 	struct list_head io_u_freelist;
 	struct list_head io_u_busylist;
 	struct list_head io_u_requeues;