On Fri, Sep 04 2009, Chris Worley wrote: > Are there example uses, specifically for mixed read/write cases? > > I've found I can do sequential writes followed by sequential reads w/o > issue, but have errors in other cases. > > Just some usage hints would be nice. I think the major issue here is that fio can be used to verify a previously written file, so it'll attach a verify handler to the IO piece even for the reads in a mixed workload. Not sure how best to handle that, the below patch will disable that 'feature' if we are doing a mixed read/write workload. Which probably does make sense, since it's fairly nonsensical to expect partial read verifies from a previous file while overwriting other parts of it... Does it work? diff --git a/fio.c b/fio.c index dfd15e0..3a9a3ba 100644 --- a/fio.c +++ b/fio.c @@ -606,7 +606,8 @@ static void do_io(struct thread_data *td) * Add verification end_io handler, if asked to verify * a previously written file. */ - if (td->o.verify != VERIFY_NONE && io_u->ddir == DDIR_READ) { + if (td->o.verify != VERIFY_NONE && io_u->ddir == DDIR_READ && + !td_rw(td)) { if (td->o.verify_async) io_u->end_io = verify_io_u_async; else -- 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