server: start conversion of data structures to network friendly types
[fio.git] / stat.c
diff --git a/stat.c b/stat.c
index d2cc77597b021b0fb2949298b6bab46b4022607d..998e414c12d5c2a204e9869a194e7434eb2e9a92 100644 (file)
--- a/stat.c
+++ b/stat.c
@@ -618,6 +618,9 @@ static void sum_stat(struct io_stat *dst, struct io_stat *src, int nr)
 {
        double mean, S;
 
+       if (src->samples == 0)
+               return;
+
        dst->min_val = min(dst->min_val, src->min_val);
        dst->max_val = max(dst->max_val, src->max_val);
 
@@ -951,8 +954,8 @@ void add_clat_sample(struct thread_data *td, enum fio_ddir ddir,
 
        add_stat_sample(&ts->clat_stat[ddir], usec);
 
-       if (ts->clat_log)
-               add_log_sample(td, ts->clat_log, usec, ddir, bs);
+       if (td->clat_log)
+               add_log_sample(td, td->clat_log, usec, ddir, bs);
 
        if (ts->clat_percentiles)
                add_clat_percentile_sample(ts, usec, ddir);
@@ -968,8 +971,8 @@ void add_slat_sample(struct thread_data *td, enum fio_ddir ddir,
 
        add_stat_sample(&ts->slat_stat[ddir], usec);
 
-       if (ts->slat_log)
-               add_log_sample(td, ts->slat_log, usec, ddir, bs);
+       if (td->slat_log)
+               add_log_sample(td, td->slat_log, usec, ddir, bs);
 }
 
 void add_lat_sample(struct thread_data *td, enum fio_ddir ddir,
@@ -982,8 +985,8 @@ void add_lat_sample(struct thread_data *td, enum fio_ddir ddir,
 
        add_stat_sample(&ts->lat_stat[ddir], usec);
 
-       if (ts->lat_log)
-               add_log_sample(td, ts->lat_log, usec, ddir, bs);
+       if (td->lat_log)
+               add_log_sample(td, td->lat_log, usec, ddir, bs);
 }
 
 void add_bw_sample(struct thread_data *td, enum fio_ddir ddir, unsigned int bs,
@@ -1003,8 +1006,8 @@ void add_bw_sample(struct thread_data *td, enum fio_ddir ddir, unsigned int bs,
                        1000 / spent / 1024;
        add_stat_sample(&ts->bw_stat[ddir], rate);
 
-       if (ts->bw_log)
-               add_log_sample(td, ts->bw_log, rate, ddir, bs);
+       if (td->bw_log)
+               add_log_sample(td, td->bw_log, rate, ddir, bs);
 
        fio_gettime(&ts->stat_sample_time[ddir], NULL);
        ts->stat_io_bytes[ddir] = td->this_io_bytes[ddir];