[PATCH] Add support for the read/write interface of SG v3
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index dbce4af347ec34ae85d93b0e2242256c5f957b39..5fcdfddb65050171e34b42ff04730e0efafe4939 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -90,10 +90,10 @@ struct verify_header {
 };
 
 struct group_run_stats {
-       unsigned long max_run[2], min_run[2];
-       unsigned long max_bw[2], min_bw[2];
-       unsigned long io_mb[2];
-       unsigned long agg[2];
+       unsigned long long max_run[2], min_run[2];
+       unsigned long long max_bw[2], min_bw[2];
+       unsigned long long io_mb[2];
+       unsigned long long agg[2];
 };
 
 struct thread_data {
@@ -133,7 +133,10 @@ struct thread_data {
        unsigned int create_fsync;
        unsigned int loops;
        unsigned long long file_size;
+       unsigned long long real_file_size;
        unsigned long long file_offset;
+       unsigned long long zone_size;
+       unsigned long long zone_skip;
        unsigned int sync_io;
        unsigned int mem_type;
        unsigned int verify;
@@ -148,8 +151,6 @@ struct thread_data {
 
        int shm_id;
 
-       unsigned long long cur_off;
-
        void *io_data;
        char io_engine_name[16];
        int (*io_prep)(struct thread_data *, struct io_u *);
@@ -176,10 +177,11 @@ struct thread_data {
        unsigned long long io_size;
        unsigned long long total_io_size;
 
-       unsigned long io_blocks[2];
-       unsigned long io_bytes[2];
-       unsigned long this_io_bytes[2];
-       unsigned long last_bytes;
+       unsigned long long io_blocks[2];
+       unsigned long long io_bytes[2];
+       unsigned long long zone_bytes;
+       unsigned long long this_io_bytes[2];
+       unsigned long long last_pos;
        sem_t mutex;
 
        struct drand48_data random_state;
@@ -193,7 +195,7 @@ struct thread_data {
        struct io_stat slat_stat[2];            /* submission latency */
        struct io_stat bw_stat[2];              /* bandwidth stats */
 
-       unsigned long stat_io_bytes[2];
+       unsigned long long stat_io_bytes[2];
        struct timeval stat_sample_time[2];
 
        struct io_log *slat_log;
@@ -257,6 +259,7 @@ enum {
 enum {
        FIO_TYPE_FILE = 1,
        FIO_TYPE_BD,
+       FIO_TYPE_CHAR,
 };
 
 enum {