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@wdc.com>
Link: https://lore.kernel.org/r/20211001103257.4130231-2-shinichiro.kawasaki@wdc.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
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);