X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=iolog.c;h=5fd9416c036ec2454030b4ddf6772eab487efa30;hp=9bcf0d8e2982e37ce5d48fbd64e9653872e54ea0;hb=002fe73409d1e3d5e7dfe2885f75885bfaf506bc;hpb=d7213923067aa49922962a469a691c3ec951064d diff --git a/iolog.c b/iolog.c index 9bcf0d8e..5fd9416c 100644 --- a/iolog.c +++ b/iolog.c @@ -188,6 +188,10 @@ void log_io_piece(struct thread_data *td, struct io_u *io_u) ipo->file = io_u->file; ipo->offset = io_u->offset; ipo->len = io_u->buflen; + ipo->numberio = io_u->numberio; + ipo->flags = IP_F_IN_FLIGHT; + + io_u->ipo = ipo; if (io_u_should_trim(td, io_u)) { flist_add_tail(&ipo->trim_list, &td->trim_list); @@ -208,7 +212,7 @@ void log_io_piece(struct thread_data *td, struct io_u *io_u) * drop the old one, which we rely on the rb insert/lookup for * handling. */ - if ((!td_random(td) || !td->o.overwrite) && + if (((!td->o.verifysort) || !td_random(td) || !td->o.overwrite) && (file_randommap(td, ipo->file) || td->o.verify == VERIFY_NONE)) { INIT_FLIST_HEAD(&ipo->list); flist_add_tail(&ipo->list, &td->io_hist_list); @@ -480,17 +484,22 @@ int init_iolog(struct thread_data *td) int ret = 0; if (td->o.read_iolog_file) { + int need_swap; + /* * Check if it's a blktrace file and load that if possible. * Otherwise assume it's a normal log file and load that. */ - if (is_blktrace(td->o.read_iolog_file)) - ret = load_blktrace(td, td->o.read_iolog_file); + if (is_blktrace(td->o.read_iolog_file, &need_swap)) + ret = load_blktrace(td, td->o.read_iolog_file, need_swap); else ret = init_iolog_read(td); } else if (td->o.write_iolog_file) ret = init_iolog_write(td); + if (ret) + td_verror(td, EINVAL, "failed initializing iolog"); + return ret; }