Change default IO engine from sync to psync
[fio.git] / file.h
diff --git a/file.h b/file.h
index f7a1eae14408240c6f92222b97b98fa5cd58a35e..e7563b84638490ffda75998576ce57b492c012c7 100644 (file)
--- a/file.h
+++ b/file.h
@@ -8,6 +8,7 @@
 #include "lib/zipf.h"
 #include "lib/axmap.h"
 #include "lib/lfsr.h"
+#include "lib/gauss.h"
 
 /*
  * The type of object we are working on
@@ -75,9 +76,10 @@ struct fio_file {
        /*
         * filename and possible memory mapping
         */
-       char *file_name;
        unsigned int major, minor;
        int fileno;
+       int bs;
+       char *file_name;
 
        /*
         * size of the file, offset into file, and io size from that offset
@@ -95,6 +97,13 @@ struct fio_file {
        uint64_t first_write;
        uint64_t last_write;
 
+       /*
+        * Tracks the last iodepth number of completed writes, if data
+        * verification is enabled
+        */
+       uint64_t *last_write_comp;
+       unsigned int last_write_idx;
+
        /*
         * For use by the io engine
         */
@@ -119,7 +128,10 @@ struct fio_file {
        /*
         * Used for zipf random distribution
         */
-       struct zipf_state zipf;
+       union {
+               struct zipf_state zipf;
+               struct gauss_state gauss;
+       };
 
        int references;
        enum fio_file_flags flags;
@@ -175,6 +187,7 @@ extern int __must_check generic_close_file(struct thread_data *, struct fio_file
 extern int __must_check generic_get_file_size(struct thread_data *, struct fio_file *);
 extern int __must_check file_lookup_open(struct fio_file *f, int flags);
 extern int __must_check pre_read_files(struct thread_data *);
+extern unsigned long long get_rand_file_size(struct thread_data *td);
 extern int add_file(struct thread_data *, const char *, int, int);
 extern int add_file_exclusive(struct thread_data *, const char *);
 extern void get_file(struct fio_file *);