Add support for blkio cgroups on Linux
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index fb70b465bec4e1da83a9359b8d2dbe39d84d5c24..aa5124cd03a805d9158391131d3e1788c1f4b9e9 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -28,6 +28,8 @@
 #include "io_ddir.h"
 #include "ioengine.h"
 #include "iolog.h"
+#include "profiles.h"
+#include "helpers.h"
 
 #ifdef FIO_HAVE_GUASI
 #include <guasi.h>
@@ -42,6 +44,7 @@ struct group_run_stats {
        unsigned long long max_bw[2], min_bw[2];
        unsigned long long io_kb[2];
        unsigned long long agg[2];
+       unsigned int kb_base;
 };
 
 /*
@@ -62,6 +65,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;
@@ -118,6 +123,8 @@ struct thread_stat {
        unsigned continue_on_error;
        unsigned long total_err_count;
        int first_error;
+
+       unsigned int kb_base;
 };
 
 struct bssplit {
@@ -134,6 +141,7 @@ struct thread_options {
        char *opendir;
        char *ioengine;
        enum td_ddir td_ddir;
+       unsigned int kb_base;
        unsigned int ddir_nr;
        unsigned int iodepth;
        unsigned int iodepth_low;
@@ -171,7 +179,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;
@@ -258,6 +266,19 @@ struct thread_options {
         * I/O Error handling
         */
        unsigned int continue_on_error;
+
+       /*
+        * Benchmark profile type
+        */
+       unsigned int profile;
+
+       /*
+        * blkio cgroup support
+        */
+       char *cgroup_root;
+       char *cgroup;
+       unsigned int cgroup_weight;
+       unsigned int cgroup_was_created;
 };
 
 #define FIO_VERROR_SIZE        128
@@ -507,6 +528,7 @@ extern int in_ramp_time(struct thread_data *);
  */
 extern int __must_check parse_options(int, char **);
 extern int fio_options_parse(struct thread_data *, char **, int);
+extern void fio_keywords_init(void);
 extern int fio_cmd_option_parse(struct thread_data *, const char *, char *);
 extern void fio_fill_default_options(struct thread_data *);
 extern int fio_show_option_help(const char *);