This reverts commit 499cded5f435a0a7c379b606eb3e903d7f43c360. The commit enabled clear_io_state() call in the loop of thread_main() after completion of IOs, regardless of verify option. This sets zero to td->nr_done_files even when the IOs are sequential workload with holes. Such IOs depend on td->nr_done_files to judge job completion in __get_next_file(). With zero value in td->nr_done_files, the sequential IOs do not complete as expected, and results in failure of a test case Revert the commit to avoid the failure. Regarding the loop count issue with do_verify=0 option, another fix patch follows. Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> --- backend.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend.c b/backend.c index 4c260747..86fa6d41 100644 --- a/backend.c +++ b/backend.c @@ -1920,13 +1920,13 @@ static void *thread_main(void *data) if (td->error || td->terminate) break; - clear_io_state(td, 0); - if (!o->do_verify || o->verify == VERIFY_NONE || td_ioengine_flagged(td, FIO_UNIDIR)) continue; + clear_io_state(td, 0); + fio_gettime(&td->start, NULL); do_verify(td, verify_bytes); -- 2.31.1