Add --warnings-fatal/-w option
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index e8c025d6880e2d3613abf43578acf3efbbd8dab5..d2cca1182b2b40d271caa2f88a766836448be138 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -14,6 +14,8 @@
 #include <inttypes.h>
 #include <assert.h>
 
+struct thread_data;
+
 #include "compiler/compiler.h"
 #include "flist.h"
 #include "fifo.h"
@@ -71,7 +73,7 @@ enum {
 /*
  * How many depth levels to log
  */
-#define FIO_IO_U_MAP_NR        8
+#define FIO_IO_U_MAP_NR        7
 #define FIO_IO_U_LAT_U_NR 10
 #define FIO_IO_U_LAT_M_NR 12
 
@@ -126,7 +128,7 @@ struct thread_stat {
        unsigned long total_complete;
 
        unsigned long long io_bytes[2];
-       unsigned long runtime[2];
+       unsigned long long runtime[2];
        unsigned long total_run_time;
 
        /*
@@ -195,6 +197,7 @@ struct thread_options {
        char verify_pattern[MAX_PATTERN_SIZE];
        unsigned int verify_pattern_bytes;
        unsigned int verify_fatal;
+       unsigned int verify_dump;
        unsigned int verify_async;
        unsigned long long verify_backlog;
        unsigned int verify_batch;
@@ -217,6 +220,7 @@ struct thread_options {
        unsigned int thinktime_blocks;
        unsigned int fsync_blocks;
        unsigned int fdatasync_blocks;
+       unsigned int barrier_blocks;
        unsigned long start_delay;
        unsigned long long timeout;
        unsigned long long ramp_time;
@@ -518,6 +522,7 @@ extern char *job_section;
 extern int fio_gtod_offload;
 extern int fio_gtod_cpu;
 extern enum fio_cs fio_clock_source;
+extern int warnings_fatal;
 
 extern struct thread_data *threads;
 
@@ -568,6 +573,8 @@ 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 **);
+extern char *num2str(unsigned long, int, int, int);
+
 #define FIO_GETOPT_JOB         0x89988998
 #define FIO_NR_OPTIONS         (FIO_MAX_OPTS + 128)
 
@@ -653,49 +660,6 @@ static inline int fio_fill_issue_time(struct thread_data *td)
        return 0;
 }
 
-/*
- * Cheesy number->string conversion, complete with carry rounding error.
- */
-static inline char *num2str(unsigned long num, int maxlen, int base, int pow2)
-{
-       char postfix[] = { ' ', 'K', 'M', 'G', 'P', 'E' };
-       unsigned int thousand;
-       char *buf;
-       int i;
-
-       if (pow2)
-               thousand = 1024;
-       else
-               thousand = 1000;
-
-       buf = malloc(128);
-
-       for (i = 0; base > 1; i++)
-               base /= thousand;
-
-       do {
-               int len, carry = 0;
-
-               len = sprintf(buf, "%'lu", num);
-               if (len <= maxlen) {
-                       if (i >= 1) {
-                               buf[len] = postfix[i];
-                               buf[len + 1] = '\0';
-                       }
-                       return buf;
-               }
-
-               if ((num % thousand) >= (thousand / 2))
-                       carry = 1;
-
-               num /= thousand;
-               num += carry;
-               i++;
-       } while (i <= 5);
-
-       return buf;
-}
-
 static inline int __should_check_rate(struct thread_data *td,
                                      enum fio_ddir ddir)
 {