Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio
[fio.git] / fio.c
diff --git a/fio.c b/fio.c
index 87020863bf8c86c5f0096a440e66dd00b660da16..7aa55a8f7839bdbb3f08f192cf4990932e4da25f 100644 (file)
--- a/fio.c
+++ b/fio.c
@@ -343,6 +343,8 @@ static int check_min_rate(struct thread_data *td, struct timeval *now,
 
 static inline int runtime_exceeded(struct thread_data *td, struct timeval *t)
 {
+       if (in_ramp_time(td))
+               return 0;
        if (!td->o.timeout)
                return 0;
        if (mtime_since(&td->epoch, t) >= td->o.timeout * 1000)
@@ -1248,9 +1250,12 @@ static void *thread_main(void *data)
                memcpy(&td->iops_sample_time, &td->start, sizeof(td->start));
                memcpy(&td->tv_cache, &td->start, sizeof(td->start));
 
-               if (td->o.ratemin[0] || td->o.ratemin[1])
-                       memcpy(&td->lastrate, &td->bw_sample_time,
-                                                       sizeof(td->lastrate));
+               if (td->o.ratemin[0] || td->o.ratemin[1]) {
+                       memcpy(&td->lastrate[0], &td->bw_sample_time,
+                                               sizeof(td->bw_sample_time));
+                       memcpy(&td->lastrate[1], &td->bw_sample_time,
+                                               sizeof(td->bw_sample_time));
+               }
 
                if (clear_state)
                        clear_io_state(td);
@@ -1794,8 +1799,8 @@ int exec_run(void)
                return 0;
 
        if (write_bw_log) {
-               setup_log(&agg_io_log[DDIR_READ]);
-               setup_log(&agg_io_log[DDIR_WRITE]);
+               setup_log(&agg_io_log[DDIR_READ], 0);
+               setup_log(&agg_io_log[DDIR_WRITE], 0);
        }
 
        startup_mutex = fio_mutex_init(0);