Re: [PATCH V2] Adds verify_only option.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Konstantin,

I use the same code already in fio for stopping. The do_dry_run() uses
the same while-do construct as in do_io().
After the do_dry_run() completes, the do_verify() will verify the io
units that where logged using log_io_piece().

On a related subject:
I found an unexpected behavior with the current version (2.1.2) of fio
when specifying an iodepth > 1 (with a random workload and libaio io
engine and the default random generator and not using a random map).
An example job that produces the behavior is attached.
When a job like that is run, do_io() will perform extra io in the
amount of the extra io that was allowed to accumulate in the queue. In
other words, if iodepth=2, fio will do 1 extra io.
I will send a different patch for this.

Regards,
Juan

On Fri, Sep 13, 2013 at 10:53 PM, Ruvinsky, Konstantin
<Konstantin.Ruvinsky@xxxxxxx> wrote:
> Hi Juan,
>
> I removed the second question - understood what you meant.
>
> Regards
> Konstantin
>
> -----Original Message-----
> From: Ruvinsky, Konstantin
> Sent: Saturday, September 14, 2013 8:34 AM
> To: 'Juan Casse'; 'fio@xxxxxxxxxxxxxxx'
> Subject: RE: [PATCH V2] Adds verify_only option.
>
> Hi Juan,
>
> Two questions:
> 1. How fio knows where is the last block (where to stop verification run)? Please let me know if I understand it correctly: because lfsr runs without duplicated blocks then number of iterations is device_size/block_size.
> 2. You wrote: "The verify_only option performs only verification (reads performed in do_verify()) and no read or write workload". But for verification, even if you made dry run till the end, you need to read. I don't follow.
>
> Regards
> Konstantin
>
> -----Original Message-----
> From: fio-owner@xxxxxxxxxxxxxxx [mailto:fio-owner@xxxxxxxxxxxxxxx] On Behalf Of Juan Casse
> Sent: Friday, September 13, 2013 11:07 PM
> To: Jens Axboe
> Cc: Grant Grundler; fio@xxxxxxxxxxxxxxx; Juan Casse
> Subject: [PATCH V2] Adds verify_only option.
>
> The verify_only option performs only verification (reads performed in do_verify()) and no read or write workload. The goal is to verify previously written meta data quickly and be able to detect stale data.
> Without this option, fio does not detect stale data from previous fio runs---only data corruption of "misplaced" data.
>
> This option replays the specified write workload sequence in order to compute the "generation number" (using numberio field) for each block header that was written in a previous fio run. The numberio field is used to detect stale data. do_verify() checks numberio only in the last iteration, after the correct numberio for each block has been computed.

Attachment: jcasse_job.fio
Description: Binary data


[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux