Merge branch 'atomic-writes'
[fio.git] / rate-submit.c
index bc076e869f56ad11cd7f346195ba64c902ed6ad9..92be3df75ebc181a653c5b745d15c84c9d7b97d2 100644 (file)
@@ -15,8 +15,7 @@
 
 static void check_overlap(struct io_u *io_u)
 {
-       int i, res;
-       struct thread_data *td;
+       int res;
 
        /*
         * Allow only one thread to check for overlap at a time to prevent two
@@ -37,7 +36,7 @@ static void check_overlap(struct io_u *io_u)
        }
 
 retry:
-       for_each_td(td, i) {
+       for_each_td(td) {
                if (td->runstate <= TD_SETTING_UP ||
                    td->runstate >= TD_FINISHING ||
                    !td->o.serialize_overlap ||
@@ -58,7 +57,7 @@ retry:
                        abort();
                }
                goto retry;
-       }
+       } end_for_each();
 }
 
 static int io_workqueue_fn(struct submit_worker *sw,
@@ -166,6 +165,7 @@ static int io_workqueue_init_worker_fn(struct submit_worker *sw)
        dup_files(td, parent);
        td->eo = parent->eo;
        fio_options_mem_dupe(td);
+       td->iolog_f = parent->iolog_f;
 
        if (ioengine_load(td))
                goto err;
@@ -185,7 +185,7 @@ static int io_workqueue_init_worker_fn(struct submit_worker *sw)
        if (td->io_ops->post_init && td->io_ops->post_init(td))
                goto err_io_init;
 
-       set_epoch_time(td, td->o.log_unix_epoch | td->o.log_alternate_epoch, td->o.log_alternate_epoch_clock_id);
+       set_epoch_time(td, td->o.log_alternate_epoch_clock_id, td->o.job_start_clock_id);
        fio_getrusage(&td->ru_start);
        clear_io_state(td, 1);
 
@@ -275,6 +275,8 @@ static void sum_ddir(struct thread_data *dst, struct thread_data *src,
        sum_val(&dst->this_io_blocks[ddir], &src->this_io_blocks[ddir]);
        sum_val(&dst->this_io_bytes[ddir], &src->this_io_bytes[ddir]);
        sum_val(&dst->bytes_done[ddir], &src->bytes_done[ddir]);
+       if (ddir == DDIR_READ)
+               sum_val(&dst->bytes_verified, &src->bytes_verified);
 
        pthread_double_unlock(&dst->io_wq.stat_lock, &src->io_wq.stat_lock);
 }