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

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

 



Hi,

On 19 December 2016 at 17:15, Saju Nair <saju.mad.nair@xxxxxxxxx> wrote:
>
> On the possible data-verify error,
> 1. Yes, the config file is what I used.
> 2. Did not get the verify : bad header info. but got a line as below.
> write-and-verify: (groupid=0, jobs=1): err=84 (file:io_u.c:1979,
> func=io_u_queued_complete, error=Invalid or incomplete multibyte or
> wide character): pid=9067: Mon Dec 19 03:47:40 2016
>     Wish that the response was more intuitive!.

Yeah.. the error message is a bit strange (see
http://www.spinics.net/lists/fio/msg04977.html for why),

> 3. Below message shows
>
> Run status group 0 (all jobs):
>    READ: io=264KB, aggrb=XXXXKB/s, minb=XXXXKB/s, maxb=XXXXKB/s,
> mint=tmsec, maxt=tmsec
>   WRITE: io=4096.0MB, aggrb=YYYYYKB/s, minb=YYYYYKB/s, maxb=YYYYYKB/s,
> mint=t2msec, maxt=t2msec
>
> Appears to indicate that 4GB had been written to, but, reads happened
> only upto 264KB, by when we possibly got  an error ?
> Is there a way to get additional info - like what was expected, and
> what was actually written, which sector (address) is in error ?

Normally whenever fio has hit mismatches information about the problem
offset is printed to stderr. I've just run a quick check on a device
that always returns zeros and here's what I got:

write-and-verify: (g=0): rw=randwrite, bs=4K-4K/4K-4K/4K-4K,
ioengine=libaio, iodepth=16
fio-2.15-25-gea8d
Starting 1 process
verify: bad magic header 0, wanted acca at file /dev/mapper/fake
offset 259043328, length 4096
verify: bad magic header 0, wanted acca at file /dev/mapper/fake
offset 3179520000, length 4096
fio: pid=15333, err=84/file:io_u.c:1983, func=io_u_queued_complete,
error=Invalid or incomplete multibyte or wide character

write-and-verify: (groupid=0, jobs=1): err=84 (file:io_u.c:1983,
func=io_u_queued_complete, error=Invalid or incomplete multibyte or
wide character): pid=15333: Mon Dec 19 19:10:01 2016

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.

See the HOWTO (I say that a lot right?) for information on the
verify_dump= job option which will cause the contents of failing
blocks to be recorded within files within the current working
directory. If the verification header is correct but the contents is
wrong you will also get a dump of the expected data in a separate
file. You might want to try this out before you enable the following
option because if there are a lot of distinct blocks that mismatch a
lot of files will be generated...

> Can we set the
> --continue_on_error=verify, to get all the errors ?

Yes - I was mistaken earlier about all errors being printed by default
with verify_fatal=0 so perhaps the HOWTO needs to be updated.
continue_on_error is actually a job option so it can go into the job
file if you prefer.

> -------------------------------------
>
> On the Data Integrity @ performance-
> our thought was that for us to ensure that the max performance also is
> backed up by having data integrity to pass..
> Let me think through the suggestions that you have provided for the same..
> Many thanks, really appreciate your valuable support & suggestions.

-- 
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