genfio: Splitting gen_template in 2 parts
[fio.git] / libfio.c
index 5395dd2..c26d6a3 100644 (file)
--- a/libfio.c
+++ b/libfio.c
@@ -41,8 +41,8 @@ FLIST_HEAD(disk_list);
 
 unsigned long arch_flags = 0;
 
-uintptr_t page_mask;
-uintptr_t page_size;
+uintptr_t page_mask = 0;
+uintptr_t page_size = 0;
 
 static const char *fio_os_strings[os_nr] = {
        "Invalid",
@@ -75,6 +75,7 @@ static const char *fio_arch_strings[arch_nr] = {
 static void reset_io_counters(struct thread_data *td)
 {
        int ddir;
+
        for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) {
                td->stat_io_bytes[ddir] = 0;
                td->this_io_bytes[ddir] = 0;
@@ -82,15 +83,17 @@ static void reset_io_counters(struct thread_data *td)
                td->this_io_blocks[ddir] = 0;
                td->rate_bytes[ddir] = 0;
                td->rate_blocks[ddir] = 0;
+               td->io_issues[ddir] = 0;
        }
        td->zone_bytes = 0;
 
        td->last_was_sync = 0;
+       td->rwmix_issues = 0;
 
        /*
         * reset file done count if we are to start over
         */
-       if (td->o.time_based || td->o.loops)
+       if (td->o.time_based || td->o.loops || td->o.do_verify)
                td->nr_done_files = 0;
 }
 
@@ -124,6 +127,7 @@ void reset_all_stats(struct thread_data *td)
                td->io_issues[i] = 0;
                td->ts.total_io_u[i] = 0;
                td->ts.runtime[i] = 0;
+               td->rwmix_issues = 0;
        }
 
        fio_gettime(&tv, NULL);
@@ -211,10 +215,10 @@ static int endian_check(void)
        else if (u.c[0] == 0x12)
                le = 1;
 
-#if defined(FIO_LITTLE_ENDIAN)
+#if defined(CONFIG_LITTLE_ENDIAN)
        if (be)
                return 1;
-#elif defined(FIO_BIG_ENDIAN)
+#elif defined(CONFIG_BIG_ENDIAN)
        if (le)
                return 1;
 #else
@@ -237,6 +241,10 @@ int initialize_fio(char *envp[])
                return 1;
        }
 
+#if !defined(CONFIG_GETTIMEOFDAY) && !defined(CONFIG_CLOCK_GETTIME)
+#error "No available clock source!"
+#endif
+
        arch_init(envp);
 
        sinit();