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/io_u.c b/io_u.c
index f68b213..4264cd5 100644
--- a/io_u.c
+++ b/io_u.c
@@ -1623,6 +1623,17 @@
utime_since_now(&td->start));
}
+ /*
+ * Verify_backlog enable: We need to log the write job after
+ * finishing it to prevent verifying before finish writing.
+ */
+ if (td_write(td) && idx == DDIR_WRITE &&
+ td->o.do_verify &&
+ td->o.verify != VERIFY_NONE &&
+ !td->o.experimental_verify &&
+ (td->flags & TD_F_VER_BACKLOG))
+ log_io_piece(td, io_u);
+
icd->bytes_done[idx] += bytes;
if (io_u->end_io) {