Fix failure to verify in mixed read/write workload with backlog
authorJens Axboe <axboe@kernel.dk>
Tue, 13 Mar 2012 12:45:58 +0000 (13:45 +0100)
committerJens Axboe <axboe@kernel.dk>
Tue, 13 Mar 2012 12:49:36 +0000 (13:49 +0100)
commit82af2a7ca1a543b41c003de69d5e3c36860f47d5
tree31aa76d59e010d56f845e18752b2af886e3d8590
parent207b18e4238f281bfe044bfbdc23755f96d33185
Fix failure to verify in mixed read/write workload with backlog

If you run a workload like this:

fio --rw=randrw --bs=4k --direct=1 --ioengine=libaio --iodepth=32
--verify=meta --verify_backlog=1024 --verify_fatal=1 --name=ver-test
--filename=foo --size=1G --verify_pattern=0xaaa

Fio ends up never actually verifying the written blocks. This happens
because as we generate an entry to be verified, the backend checks
whether this is a read/write mixed workload. It then thinks that the
READ is just that, a normal READ, when in fact it could be coming
from our verify list.

Mark such a read as coming from our verify list, so that we know if
it's a "normal" read or one generated to verify previously written
data.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
backend.c
io_u.c
ioengine.h
verify.c