From b61fdc8a555f844ba838c80781972df1239b5959 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Mon, 2 Aug 2021 08:23:24 -0600 Subject: [PATCH] iolog: don't attempt read chunking with blktrace format Signed-off-by: Jens Axboe --- fio.h | 1 + iolog.c | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/fio.h b/fio.h index 51686fd0..6f6b211b 100644 --- a/fio.h +++ b/fio.h @@ -420,6 +420,7 @@ struct thread_data { */ struct flist_head io_log_list; FILE *io_log_rfile; + unsigned int io_log_blktrace; unsigned int io_log_current; unsigned int io_log_checkmark; unsigned int io_log_highmark; diff --git a/iolog.c b/iolog.c index cf264916..26501b4a 100644 --- a/iolog.c +++ b/iolog.c @@ -151,7 +151,8 @@ int read_iolog_get(struct thread_data *td, struct io_u *io_u) while (!flist_empty(&td->io_log_list)) { int ret; - if (td->o.read_iolog_chunked) { + + if (!td->io_log_blktrace && td->o.read_iolog_chunked) { if (td->io_log_checkmark == td->io_log_current) { if (!read_iolog2(td)) return 1; @@ -706,10 +707,13 @@ bool init_iolog(struct thread_data *td) * 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(fname, &need_swap)) + if (is_blktrace(fname, &need_swap)) { + td->io_log_blktrace = 1; ret = load_blktrace(td, fname, need_swap); - else + } else { + td->io_log_blktrace = 0; ret = init_iolog_read(td, fname); + } } else if (td->o.write_iolog_file) ret = init_iolog_write(td); else -- 2.25.1