Re: FIO -- A few basic questions on Data Integrity.

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

 



Hi,

On 20 December 2016 at 12:26, Saju Nair <saju.mad.nair@xxxxxxxxx> wrote:
>
> Thanks for your clarifications.
> We ran with a --continue_on_error=verify,
> to let the FIO complete the full compare..
>
> We tried to do a sequential write and compare, using the FIO config
> file as below, and to bring in the complexity of "random" as a 2nd
> step.
> [write-and-verify]
> rw=write
> bs=4k
> direct=1
> ioengine=libaio
> iodepth=16
> size=2m
> verify=pattern
> verify_pattern=0x33333333
> continue_on_error=verify
> verify_dump=1
> filename=/dev/XXXX
>
> FIO reports errors and we see files of the following names created:
> <filename>.<num>.received
> <filename>.<num>.expected
>
> Wanted help in interpreting the result.
>
> We wrote 2MB worth of data, with blocksize = 4K.
> So, ideally is it expected to do 2MB/4KB = 512 IO operations
>
> 1) The received/expected files:
> Are they for each 4K offset that failed the comparison ?

I bet you can deduce this from the size and names of the files...

> Is the <num> to be interpreted as the (num/bs)-th block that failed ?
>    For ex: if the num=438272, and bs=4096 => 107th block failed ?
>
> It would be useful to know this information - so that we can debug further,
> FYI, if we try a "dd" command and check the disk, based on the above
> calculation - the data is proper (as expected).

You never answered my question about what you are doing with stderr.
I'll repeat it here:

>> Are you doing something like redirecting stdout to a file but not
>> doing anything with stderr? It would help if you include the command
>> line you are using to run fio in your reply.

Can you answer this question and post the full command line you ran
fio with? I think it might have relevance to your current question.

> 2) What were the locations that were written to..
> Tried fio-verify-state <.state_file>, and get the below:
> Version:        0x3
> Size:           408
> CRC:            0x70ca464a
> Thread:         0
> Name:           write-and-verify
> Completions:    16
> Depth:          16
> Number IOs:     512
> Index:          0
> Completions:
>         (file= 0) 2031616
>         (file= 0) 2035712
>         (file= 0) 2039808
>         (file= 0) 2043904
>         (file= 0) 2048000
>         (file= 0) 2052096
>         (file= 0) 2056192
>         (file= 0) 2060288
>         (file= 0) 2064384
>         (file= 0) 2068480
>         (file= 0) 2072576
>         (file= 0) 2076672
>         (file= 0) 2080768
>         (file= 0) 2084864
>         (file= 0) 2088960
>         (file= 0) 2093056
>
> How do we interpret the above content to understand the locations of Writes.

Perhaps fio tracks how far through the sequence it got rather than
individual locations written (this would be necessary to handle things
like loops=)? I personally don't know the answer to this but you can
always take a look at the source code.

-- 
Sitsofe | http://sucs.org/~sits/
--
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



[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