summaryrefslogtreecommitdiff
path: root/io_u.c
diff options
context:
space:
mode:
authorPuthikorn Voravootivat <puthik@chromium.org>2014-02-05 10:28:15 -0800
committerJens Axboe <axboe@fb.com>2014-02-05 12:36:42 -0700
commit9a50c5c5650fdd9f3117e3745f16cc63c5b267b7 (patch)
treee5a832962dfa50fa3567d3a3d177d7f06c3362d7 /io_u.c
parentc2703bf35e146872d12f85c9e6490008b5fabb34 (diff)
downloadfio-9a50c5c5650fdd9f3117e3745f16cc63c5b267b7.tar.gz
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>
Diffstat (limited to 'io_u.c')
-rw-r--r--io_u.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/io_u.c b/io_u.c
index f68b2139..4264cd54 100644
--- a/io_u.c
+++ b/io_u.c
@@ -1623,6 +1623,17 @@ static void io_completed(struct thread_data *td, struct io_u *io_u,
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) {