I forgot to include the job file used in the test. Here it is. [global] readwrite=read randrepeat=1 size=64k bs=8k ioengine=sync norandommap loops=2 verify=meta verify_pattern=0xffffffffffffffff verify_dump=1 continue_on_error=verify [jcasse_job] On Thu, Aug 29, 2013 at 5:09 PM, Juan Casse <jcasse@xxxxxxxxxx> wrote: > Jens, > > fio behaves in a way I was not expecting: > > Whenever the workload includes writes, fio will do the io and then > verify only the blocks that were written; this is good. However, when > the workload does only reads, the verify phase will verify the reads. > > So, the way the code is today, my changes to check numberio will work > only for workloads that do writes or read/writes, but not for > workloads that do only reads. > > I track the numberio in the pupulate_verify_io_u() function: > io_u->numberio = td->io_issues[io_u->ddir]; > This function does not get called when doing reads. > > What are your thoughts? > > > On Thu, Aug 29, 2013 at 1:59 PM, Jens Axboe <axboe@xxxxxxxxx> wrote: >> On 08/29/2013 11:33 AM, Juan Casse wrote: >>> Currently, fio checks the block offset number in a block's header during >>> the verify phase. >>> We add a check for io number (numberio) to detect stale blocks. >> >> Any reason we can't do this unconditionally? >> >> -- >> Jens Axboe >> -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html