Only clear string pointer in parser for sub-value options
[fio.git] / init.c
diff --git a/init.c b/init.c
index 4e7eb4989976ad86c32910e7b2144d260cfc497f..ed3426936a9fb84b26b4b9567b853cb592819490 100644 (file)
--- a/init.c
+++ b/init.c
@@ -22,7 +22,7 @@
 
 #include "lib/getopt.h"
 
-static char fio_version_string[] = "fio 1.55";
+static char fio_version_string[] = "fio 1.57";
 
 #define FIO_RANDSEED           (0xb1899bedUL)
 
@@ -47,7 +47,6 @@ int warnings_fatal = 0;
 int write_bw_log = 0;
 int read_only = 0;
 
-static int def_timeout;
 static int write_lat_log;
 
 static int prev_group_jobs;
@@ -516,6 +515,8 @@ void td_fill_rand_seeds(struct thread_data *td)
                td_fill_rand_seeds_os(td);
        else
                td_fill_rand_seeds_internal(td);
+
+       init_rand_seed(&td->buf_state, td->rand_seeds[7]);
 }
 
 /*
@@ -617,6 +618,12 @@ static int add_job(struct thread_data *td, const char *jobname, int job_add_num)
 
        td->mutex = fio_mutex_init(0);
 
+       td->ts.clat_percentiles = td->o.clat_percentiles;
+       if (td->o.overwrite_plist)
+               td->ts.percentile_list = td->o.percentile_list;
+       else
+               td->ts.percentile_list = NULL;
+
        td->ts.clat_stat[0].min_val = td->ts.clat_stat[1].min_val = ULONG_MAX;
        td->ts.slat_stat[0].min_val = td->ts.slat_stat[1].min_val = ULONG_MAX;
        td->ts.lat_stat[0].min_val = td->ts.lat_stat[1].min_val = ULONG_MAX;
@@ -951,8 +958,6 @@ static int fill_def_thread(void)
         * fill default options
         */
        fio_fill_default_options(&def_thread);
-
-       def_thread.o.timeout = def_timeout;
        return 0;
 }
 
@@ -1024,6 +1029,7 @@ static int setup_thread_area(void)
 
 static void usage(const char *name)
 {
+       printf("%s\n", fio_version_string);
        printf("%s [options] [job options] <job file(s)>\n", name);
        printf("\t--debug=options\tEnable debug logging\n");
        printf("\t--output\tWrite output to file\n");
@@ -1160,7 +1166,7 @@ static int parse_cmd_line(int argc, char *argv[])
                        smalloc_pool_size = atoi(optarg);
                        break;
                case 't':
-                       def_timeout = atoi(optarg);
+                       def_thread.o.timeout = atoi(optarg);
                        break;
                case 'l':
                        write_lat_log = 1;