Add parser support for out-of-td option storage
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index 049692d65e03783d3dcd934f2225c50482e7a6cb..7eb02ad42dbbb9b66f7569ff6f82f34a6f2cf17d 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -28,6 +28,7 @@
 #include "io_ddir.h"
 #include "ioengine.h"
 #include "iolog.h"
+#include "helpers.h"
 
 #ifdef FIO_HAVE_GUASI
 #include <guasi.h>
@@ -63,6 +64,8 @@ enum fio_memtype {
 #define FIO_IO_U_LAT_U_NR 10
 #define FIO_IO_U_LAT_M_NR 12
 
+#define MAX_PATTERN_SIZE 512
+
 struct thread_stat {
        char *name;
        char *verror;
@@ -175,7 +178,7 @@ struct thread_options {
        unsigned int verifysort;
        unsigned int verify_interval;
        unsigned int verify_offset;
-       unsigned int verify_pattern;
+       char verify_pattern[MAX_PATTERN_SIZE];
        unsigned int verify_pattern_bytes;
        unsigned int verify_fatal;
        unsigned int verify_async;
@@ -223,6 +226,7 @@ struct thread_options {
        unsigned int file_service_type;
        unsigned int group_reporting;
        unsigned int fadvise_hint;
+       unsigned int fallocate;
        unsigned int zero_buffers;
        unsigned int refill_buffers;
        unsigned int time_based;
@@ -262,6 +266,20 @@ struct thread_options {
         * I/O Error handling
         */
        unsigned int continue_on_error;
+
+       /*
+        * Benchmark profile type
+        */
+       char *profile;
+
+       /*
+        * blkio cgroup support
+        */
+       char *cgroup;
+       unsigned int cgroup_weight;
+
+       unsigned int uid;
+       unsigned int gid;
 };
 
 #define FIO_VERROR_SIZE        128
@@ -341,7 +359,7 @@ struct thread_data {
        /*
         * Rate state
         */
-       unsigned long rate_usec_cycle[2];
+       unsigned long rate_nsec_cycle[2];
        long rate_pending_usleep[2];
        unsigned long rate_bytes[2];
        unsigned long rate_blocks[2];
@@ -519,6 +537,7 @@ extern void fio_options_dup_and_init(struct option *);
 extern void options_mem_dupe(struct thread_data *);
 extern void options_mem_free(struct thread_data *);
 extern void td_fill_rand_seeds(struct thread_data *);
+extern void add_job_opts(const char **);
 #define FIO_GETOPT_JOB         0x89988998
 #define FIO_NR_OPTIONS         128