Fix verify_backlog start verification before finish writing
Due to recent fix for checking rand_seed in verify phase. In write phase,
the IO transaction will be logged before completing the actual data write.
If verify_backlog is enabled, verification may start before all data has
been written. This patch disable that fix if the verify_backlog is enabled.
Signed-off-by: Puthikorn Voravootivat <puthik@chromium.org>
Signed-off-by: Jens Axboe <axboe@fb.com>
diff --git a/backend.c b/backend.c
index 3ac72e7..8450957 100644
--- a/backend.c
+++ b/backend.c
@@ -718,10 +718,15 @@
else
td_set_runstate(td, TD_RUNNING);
+ /*
+ * Verify_backlog disabled: We need to log rand seed before the
+ * actual IO to be able to replay it correctly in the verify phase.
+ */
if (td_write(td) && io_u->ddir == DDIR_WRITE &&
td->o.do_verify &&
td->o.verify != VERIFY_NONE &&
- !td->o.experimental_verify)
+ !td->o.experimental_verify &&
+ !(td->flags & TD_F_VER_BACKLOG))
log_io_piece(td, io_u);
ret = td_io_queue(td, io_u);