All of lore.kernel.org
 help / color / mirror / Atom feed
* Question about data verification using FIO
@ 2018-10-24 22:29 Taylor Yang
  2018-10-25  5:49 ` Sitsofe Wheeler
  0 siblings, 1 reply; 2+ messages in thread
From: Taylor Yang @ 2018-10-24 22:29 UTC (permalink / raw)
  To: fio

Hi,
I know for the option 'verify', we could specify it when we write and
read a file. But does it work with the option 'time_base' and
'runtime'?

For example, does the configuration below make sense?

[global]
direct=1
ioengine=libaio
time_based
numjobs=1
verify=crc32
runtime=50000

The verification process might not even start if the runtime ends,
right? If this is the case, what should I do to configure it in such a
way that it could do the read and write and also data verification in
some targeted period of time?

Thank you so much in advance.
Best wishes,
Taylor


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Question about data verification using FIO
  2018-10-24 22:29 Question about data verification using FIO Taylor Yang
@ 2018-10-25  5:49 ` Sitsofe Wheeler
  0 siblings, 0 replies; 2+ messages in thread
From: Sitsofe Wheeler @ 2018-10-25  5:49 UTC (permalink / raw)
  To: taylor4869; +Cc: fio

Hi Taylor,

On Wed, 24 Oct 2018 at 23:29, Taylor Yang <taylor4869@gmail.com> wrote:
>
> I know for the option 'verify', we could specify it when we write and
> read a file. But does it work with the option 'time_base' and
> 'runtime'?

Maybe?

> For example, does the configuration below make sense?
>
> [global]
> direct=1
> ioengine=libaio
> time_based
> numjobs=1
> verify=crc32
> runtime=50000

This doesn't make sense to me because I can't see the rest of the
options / fio invocation you used. So first up there's no job defined
(only global options) so given the above by itself fio will complain
about "No job(s) defined". I also can't tell if you've already made
the file using some other fio invocation and you are intending this
one just to keep verifying it. fio defaults to read jobs when rw isn't
set (https://fio.readthedocs.io/en/latest/fio_man.html#cmdoption-arg-readwrite
) so this will be a pure verification job and if you haven't
previously created/filled the file with fio crc32 verification headers
you'll get an instant mismatch.

> The verification process might not even start if the runtime ends,
> right? If this is the case, what should I do to configure it in such a
> way that it could do the read and write and also data verification in
> some targeted period of time?

If you mean when you set rw=write then your deduction is right and
recent fios will even tell you this:
$ cat write_verify_timebased.fio
[global]
direct=1
ioengine=libaio
time_based
numjobs=1
verify=crc32
runtime=5s

[write_verify_timebased]
size=1M
rw=write
$ fio write_verify_timebased.fio
fio: verification read phase will never start because write phase uses
all of runtime
[...]

As for solutions, you may find doing inline verifies is good enough
for you (see http://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-verify-backlog
). See https://github.com/axboe/fio/issues/322#issuecomment-283265965
for some discussion about trying to do time based verification (TLDR;
it can be tricky).



--
Sitsofe | http://sucs.org/~sits/


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-10-25 14:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-24 22:29 Question about data verification using FIO Taylor Yang
2018-10-25  5:49 ` Sitsofe Wheeler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.