X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;ds=sidebyside;f=io_u.c;h=2e0f8e9c601a16f8320fef4780e0bd340a9a047e;hb=44b5374f4d64a066643afbc91d7f3f03bb0b71f8;hp=660db0701107264c0b491ff46eaaa39a6f9096ed;hpb=171e38ab2b03683a9d559ee9fffcbe052484baba;p=fio.git diff --git a/io_u.c b/io_u.c index 660db070..2e0f8e9c 100644 --- a/io_u.c +++ b/io_u.c @@ -310,7 +310,7 @@ static int fill_io_u(struct thread_data *td, struct io_u *io_u) !(td->io_issues[DDIR_WRITE] % td->o.fsync_blocks) && td->io_issues[DDIR_WRITE] && should_fsync(td)) { io_u->ddir = DDIR_SYNC; - return 0; + goto out; } io_u->ddir = get_rw_ddir(td); @@ -329,12 +329,13 @@ static int fill_io_u(struct thread_data *td, struct io_u *io_u) /* * mark entry before potentially trimming io_u */ - if (!td->o.read_iolog && td_random(td) && !td->o.norandommap) + if (td_random(td) && !td->o.norandommap) mark_random_map(td, io_u); /* * If using a write iolog, store this entry. */ +out: if (td->o.write_iolog_file) write_iolog_put(td, io_u); @@ -660,13 +661,14 @@ static void io_completed(struct thread_data *td, struct io_u *io_u, add_bw_sample(td, idx, &icd->time); io_u_mark_latency(td, msec); - if ((td_rw(td) || td_write(td)) && idx == DDIR_WRITE) + if ((td_rw(td) || td_write(td)) && idx == DDIR_WRITE && + td->o.verify != VERIFY_NONE) log_io_piece(td, io_u); icd->bytes_done[idx] += bytes; if (io_u->end_io) { - ret = io_u->end_io(io_u); + ret = io_u->end_io(td, io_u); if (ret && !icd->error) icd->error = ret; }