History log of /external/fio/verify.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
eda3a60699e1d96bb68875ef2169ca819eb8f4f9 20-May-2017 Elliott Hughes <enh@google.com> Update to fio-2.20.

Bug: N/A
Test: builds, seems to work
Change-Id: I455dcc898f00dc50ae5cb65d1b381982df5a51e0
/external/fio/verify.c
f795c8195eab217a834638cd4b2be609453872e8 16-Jan-2015 Jens Axboe <axboe@fb.com> sha256: fix verify failure

After the checksumming update, it's required that we call the
_final() to get consistent checksums between data generation
and data verification. Seems to only affect sha256, but we should
do it for sha1 and md5 too.

Fixes: f99d67f932ab
Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
d1a44b2fae5053c957cbde69144ba2ff342a7040 16-Jan-2015 Jens Axboe <axboe@fb.com> verify: always check completion list for low depth verifies

If we have done less IO than the depth, we need to check the
pending list.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
97c6334383ae05891841567e308c02eb9469bea1 05-Jan-2015 Jens Axboe <axboe@fb.com> verify: fix potentially unterminated name

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
94b360f41976a2bd3c4d3476b5e26a96e1ea9b12 09-Dec-2014 Jens Axboe <axboe@fb.com> Get rid of _set variables

We can just check the option set mask now.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
2d613fe1751d83d21de3107c2023df55edc9c141 05-Dec-2014 Jens Axboe <axboe@fb.com> verify: cleanup

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
e1457298d009911f05a1860f3bd15ea54f019984 04-Dec-2014 Jens Axboe <axboe@fb.com> Use specified compression/pattern for verify buffers too

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
fd1583f077bb4f77a462ca1ac7274f443f9372ce 04-Dec-2014 Jens Axboe <axboe@fb.com> Use specified buffer_pattern (if given) for all io_u fills

For compression, we use a fixed '0' pattern. But if the user
specified a pattern to use in the job file, then we should
use that instead. It could slightly skew the compression ratio
for long patterns, but that is to be expected.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
d18c04151dc0ab322067e604596cbd6d66845c27 04-Dec-2014 Jens Axboe <axboe@fb.com> Remove 'td' parameter from fill_pattern()

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
3ebcfd56868fd11f66bee3a9792811c02d66db04 12-Nov-2014 Jens Axboe <axboe@fb.com> verify: verify_state_gen_name() should check size

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
de54cfd8b8e93d2a32a02961f1587b83f0763aa8 11-Nov-2014 Jens Axboe <axboe@fb.com> Add support for verify triggers and verify state saving

This allows you to (for instance) instantly terminate a verify
write workload, and then later that everything was written
correctly up to that very point. This can be useful for testing
powercut scenarios, which is often problematic on storage
devices.

The trigger part is a file based notification scheme, similar
to what is provided for the status dumps. When triggered,
fio will exit immediately and write the verify state safely
to disk. A trigger can be accompanied by a trigger command.
Say you wanted to test powercut safety, the trigger could be
something that immediately cut power to the machine.

The verify state is either saved locally (if run locally),
or saved over the network if run in client/server mode.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
f678701783f1c200ce574215feeb7ff801c4ff72 06-Nov-2014 Jens Axboe <axboe@fb.com> Get rid of __ prefix for internal frand state

It made (some) sense when we had both OS and frand in anon unions,
but now lets just kill it.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
1fc351bf5e17ed33709cb363c0034cf20ec7d7a1 07-Aug-2014 Jens Axboe <axboe@fb.com> verify: turn off numberio verification for meta and time_based

Will only work for the first iteration, then fail miserably.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
d957070e88cf0be34aa3925f44feea39f6b54228 23-Jul-2014 Jens Axboe <axboe@fb.com> null: add FIO_FAKEIO flag

Tell the backend that null just fakes IO, and use this knowledge
to have verifies automagically work when using null. This allows
testing of a wider range of paths with ioengine=null.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
e69fdf7efe336037a588fdda5a86c9467347c6e0 23-Jul-2014 Jens Axboe <axboe@fb.com> verify: fix a bug with verify_async

There's a race between marking an io_u as deferred, completing it,
and checking of that flag. It cannot be done reliably for async
verify threads. So change the mechanism to have the verify_async
part pull the io_u completely, so we don't have to check for a flag
in it after we have run ->end_io().

This fixes a bug with verify_async, where fio would crash with
this message:

fio: io_u.c:1315: __get_io_u: Assertion `io_u->flags & IO_U_F_FREE' failed

This race has always existed, but was made considerably worse with
this commit:

commit 2ae0b204743d6b4048c6fffd46c6280a70f2ecd1
Author: Jens Axboe <axboe@kernel.dk>
Date: Tue May 28 14:16:55 2013 +0200

Replace list based free/busy/requeue list with FIFO + ring

Cache friendliness of the list is pretty low. This has
provably lower overhead.

since we moved from a single list holding the io, to a separate
verify list and io_u queues. The above bug is happening because
the io_u ends up on both the freelist and the pending verify list,
causing mayhem.

Reported-by: scameron@beardog.cce.hp.com
Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
984c8696332a85d87ab9c65ce2efa2fe6e72114e 21-Jul-2014 Jens Axboe <axboe@fb.com> verify: disable numberio check for multiple block sizes

Yet another corner case that doesn't work...

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
3b44e8bb2a96110472c3b5132d5115f903e354ed 09-Jul-2014 Jens Axboe <axboe@fb.com> Fix cases where td->terminate is set, but terminate clock not marked

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
12dbd06d3203840c8ebdc4d0a6135a69c4380949 04-Jul-2014 Jens Axboe <axboe@fb.com> flist: add flist_first_entry()

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
4547419851b578e260beef187ba405b2f632608c 26-Jun-2014 Andreas Gruenbacher <agruen@linbit.com> Verify: Tighten header length check in verify_header()

Fix-up to commit 5964842c: Tighten the header length check as well, don't only
change the message.
/external/fio/verify.c
bf65415f8d080f1649ee3432d4f11f62216f6cee 24-Jun-2014 Andreas Gruenbacher <agruen@linbit.com> Verify: Fix and improve verify_header()

Report errors directly from verify_header(); requires passing in the header
number and length. Correctly report the file name, offset, and expected header
size in all error messages.
/external/fio/verify.c
dacbbb8875c09e982d59e1c1a40879af81842a42 14-Apr-2014 Jens Axboe <axboe@fb.com> verify: fix potential buffer overrun in dump_buf()

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
844ea60273f4e7862150d9c6430cdb15768e2f34 20-Feb-2014 Jens Axboe <axboe@fb.com> Add support for the Google xxhash checksumming function

It's a lot faster than the other software defined ones, so will
be a useful alternative for the cases where crc32c-intel isn't
available.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
f940128526dbe468a1951cce10c2fe5dbd23875f 06-Feb-2014 Jens Axboe <axboe@fb.com> verify: always log IO in the order they are issued

We currently log verify_backlog verifies when they complete,
which means the sequence of verify and issue might be different.

Change this to log in one spot, prior to issue, and track the
completion state of the logged unit instead. This unifies the
handling of verifies.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/verify.c
c4b6117b236370b174f3e3d2e299bf8b3733be97 05-Feb-2014 Puthikorn Voravootivat <puthik@chromium.org> Fix rand_seed mismatches in verify phase

In verify phase, the rand_seed generated on replay does not match
the written rand_seed.

Multiple problems are causing this:
1. In verify phase fio does not set io_u->rand_seed to compare with
hdr->rand_seed
2. In randrw scenario, fio log is stored in red-black tree in "sorted by LBA"
order. Thus, it is imposible to replay the written order, or rather
generate the seeds again in the same order.
3. In write phase, the code currently will generate rand_seed, write data
and log rand_seed. When queuedepth > 1, it's possible the writes complete
in a different order than rand_seed was generated. Thus when replaying
the log, the generated rand_seed might not match what was written.
4. verify_backlog option will start verification before all the data has been
written and it make rand_seed replay code broken with current design.

Proposed fixes:
1. Use of existing verify_state to generate verify header.
(and assumes this was the original intention of verify_state). And also
adds code to replay rand_seed in verify phase.
2. If verifysort option is not enabled, store the write log in a list instead
of the red-black tree. Otherwise, don't attempt to verify the rand_seed
in the header.
3. In write phase, generate rand_seed, log rand_seed, write data. I.e. log
IO transactions in the order generated, not completed.
4. Don't verify rand_seed when verify_backlog is enabled.

Signed-off-by: Puthikorn Voravootivat <puthik@chromium.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
e9e177cce9df45eca77a4a0822a8247e60f2680b 17-Sep-2013 Juan Casse <jcasse@chromium.org> Adds check for rand_seed during verify phase.

Improve data integrity checking of header (meta) data.
verify_header() will now return an additional error:
"verify: bad header rand seed ..."
The addition of the check of rand_seed helps detect stale data from
previous fio runs.
This patch also disambiguates the different data mismatches by returning
different error codes from verify_header().

Signed-off-by: Juan Casse <jcasse@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
621677626f2551bedfdc4a5fc3b3e5f8492b94fa 17-Sep-2013 Juan Casse <jcasse@chromium.org> Adds verify_only option

When this option is set, a dry run (no actual io is performed) of the
workload will be done in order to compute the numberio for each block
header without overwriting the data on disk. Then, do_verify() will be
effectively verifying data that was written in a previous fio run.
In the case that "loops" is set to more than 1, do_verify() will delay
the verification of numberio to the last iteration when the same
numberio state that would have been written to disk in a previous
fio run has been reached.

Signed-off-by: Juan Casse <jcasse@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
da0a7bd224bb9331f27bb4b20394dd5c8fa3acb0 17-Sep-2013 Juan Casse <jcasse@chromium.org> Adds check for numberio during verify phase.

Currently, fio checks the block offset number in a block's header during
the verify phase.
We add a check for the io number (numberio) to detect stale blocks. This
check is performed only on workloads that write data, as those workloads
know what numberio was written to each block.
td->io_issues[ddir] = 0; was removed so that numberio does not get reset
at each iteration; we want numberio to keep incrementing to reflect
how many times the same data was written.

Signed-off-by: Juan Casse <jcasse@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>

Fixed typo.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
ce35b1ece06ce27ebff111e47c2a6610c311a92b 14-Jan-2014 Jens Axboe <axboe@kernel.dk> Add option for specifically setting buffer contents

Fio can use zeroes, slightly scrambled data, full random data,
or specifically compressible data. With this option, the user
can now fully control the pattern written, similarly to how
verify_pattern works for verify=meta.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
de8f6de97438d5664cd8765e60102b9109a273e2 27-Sep-2013 Anatol Pomozov <anatol.pomozov@gmail.com> Fix misspellings using 'codespell' tool

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
0d81daf9d164c4bf829f4911e1f7b211c2e661fb 09-Jul-2013 Josef Bacik <jbacik@fusionio.com> Init buflen for our dummy buffer

If we fail to verify our buffer we will allocate a dummy buf to fill in so we
have something to compare our bad file to. Unfortunately we don't set the
buflen of the dummy buffer which means we will sometimes write well past the end
of our buffer and this make glibc complain loudly. Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
2ae0b204743d6b4048c6fffd46c6280a70f2ecd1 28-May-2013 Jens Axboe <axboe@kernel.dk> Replace list based free/busy/requeue list with FIFO + ring

Cache friendliness of the list is pretty low. This has
provably lower overhead.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
dc5bfbb227f1af83adf0b686d147b7ae2107c144 10-Apr-2013 Jens Axboe <axboe@kernel.dk> Merge in crc32c-intel probe

Then we can kill the option callback.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
fba5c5ff89163062922c3e560e871c087f2177c3 29-Jan-2013 Jens Axboe <axboe@kernel.dk> smalloc: alloc failure cleanups

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
51aa2da8cf422a06ddfa1ce673f3bfc03f96b86e 21-Jan-2013 Jens Axboe <axboe@kernel.dk> Add generic hweight helpers

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
f00b210f73a8562c2cc64d73aee04875d25162b0 30-Nov-2012 Jens Axboe <axboe@kernel.dk> verify: treat as failure if given verify type is different from media

When fio verifies right now, it'll look at the on media stored type
and verify that type. This means that if verify=foo set and we
find older blocks that are written with verify=bar, we will
verify those against bar.

Change this so that if a specific verify type is given, that type
is ALWAYS used for verification. If none is given but asked to
verify, we retain the old behaviour of just verifying based on
the type given in the on-media block.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
8b28bd41375930664a0ff9ff9b101a88ac416ac5 23-Sep-2012 Dmitry Monakhov <dmonakhov@openvz.org> backend: Add configurable non fatal error list

Sometimes it is reasonable to perform test nearly system limits where
errors are possible and expected, in that case one may provide non
fatal error list which will be ignored during execution.
This patch add two options:
ignore_error: List of non fatal error
error_dump: Whenever ignored list should be dumped to log.

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
82af2a7ca1a543b41c003de69d5e3c36860f47d5 13-Mar-2012 Jens Axboe <axboe@kernel.dk> Fix failure to verify in mixed read/write workload with backlog

If you run a workload like this:

fio --rw=randrw --bs=4k --direct=1 --ioengine=libaio --iodepth=32
--verify=meta --verify_backlog=1024 --verify_fatal=1 --name=ver-test
--filename=foo --size=1G --verify_pattern=0xaaa

Fio ends up never actually verifying the written blocks. This happens
because as we generate an entry to be verified, the backend checks
whether this is a read/write mixed workload. It then thinks that the
READ is just that, a normal READ, when in fact it could be coming
from our verify list.

Mark such a read as coming from our verify list, so that we know if
it's a "normal" read or one generated to verify previously written
data.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
8a99fdf63e1350fc2c35794e1c1f779885905b29 06-Mar-2012 Jens Axboe <axboe@kernel.dk> Fix another verify segfault

If you run this job:

[global]
ioengine=libaio
direct=1
filename=/tmp/foo
iodepth=128
size=10M
loops=1
group_reporting=1
readwrite=write
do_verify=0
verify=md5
numjobs=1
thread
verify_dump=1

[small_writes]
offset=0G
blocksize=512
verify_interval=1M

[large_writes]
stonewall
offset=1G
blocksize=1M
verify_interval=512

fio crashes because verify_interval is larger than the block size
in the small_writes job. Check for this in get_hdr_inc().

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
0ae2c6e1d4727515e35e682eae6776fe55fa0275 06-Mar-2012 Jens Axboe <axboe@kernel.dk> Avoid segfault if verify header appears longer than io_u

Running this job:

[global]
ioengine=libaio
direct=1
filename=/tmp/foo
iodepth=128
size=10M
loops=1
group_reporting=1
readwrite=write
do_verify=0
verify=md5
numjobs=1
thread
verify_dump=1

[small_writes]
offset=0G
blocksize=512

[large_writes]
offset=1G
blocksize=1M

Followed by this job:

[global]
ioengine=libaio
direct=1
filename=/tmp/foo
iodepth=128
size=1M
loops=1
group_reporting=1
readwrite=read
do_verify=1
verify=md5
verify_fatal=1
numjobs=1
thread
verify_dump=1
bs=4k

[large_reads]
offset=0G
blocksize=1M

[small_reads]
offset=1G
blocksize=512

Will cause a segfault, since the bs=512 job appears to stumble
upon a 1mb header, making fio attempt to verify a much bigger
area than what we have read.

This looks like a zone bug. For now, check in a fix that makes
fio validate the verify header a bit harder.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
25dfa848abbb6c35b4d45fabd5a8e82cb77fb285 29-Feb-2012 Jens Axboe <axboe@kernel.dk> Rename crc functions to private namespace

Apparently we overlap with some gtk (?) crc32() functions, causing
ours to be called and subsequently crashing since the arguments
aren't the same.

Move everything to a fio_ protected namespace.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
096151143a9bac51ebf6f266dcc3a70c19b1deb6 24-Feb-2012 Jens Axboe <axboe@kernel.dk> Fix verify

The hole commit from yesterday (d3a173a9) had a bug, where
we would checksum too much.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
ae38c0dcd570265aef09aa132ce27278d8909a1d 23-Feb-2012 Jens Axboe <axboe@kernel.dk> verify: put all header verification in one place

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
e4ad68b1364aebfe949e2d6a649c7b1001ebca07 23-Feb-2012 Jens Axboe <axboe@kernel.dk> Fix // comment

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
d3a173a927084660c365d6aa162016ebb0746946 23-Feb-2012 Jens Axboe <axboe@kernel.dk> Remove holes in verify_header structure

Shrink the magic and verify_type members, and reorder so that
it packs nicely. Incompatible change, write workloads must be
re-run.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
a3e87103daa6b8eb274dce8409ebc87fe3a3595d 22-Feb-2012 Jens Axboe <axboe@kernel.dk> Use crc32c for the verify_header checksum

It's the only hardware assisted crypto we have, and it's
widely available in any recent Intel CPU.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
e3aaafc4e902a0f78b8ee4d4bc85f8edac6e09d2 22-Feb-2012 Jens Axboe <axboe@kernel.dk> Auto-detect whether to use hw assisted crc32c

Little point in separating the two. If the hardware assisted
crypto is available, always use it.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
f65d1c2663ac6007eac1a2063fe25b4275d013e4 22-Feb-2012 Jens Axboe <axboe@kernel.dk> Add checksum to verify_header

Currently we don't know if the verify_header itself is
valid when pulled off a disk. While it will fail verify
if it is, fio might then confuse the 'expected' and
'received' data since it re-generates the corrupted
crc with the seed stored. But if the seed is corrupt,
then we fail.

So checksum the verify header, so that we know for a fact
whether the header is valid or not.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
9a2a86d0f6f1425a6da666459ccd379e356a30d0 07-Feb-2012 Steven Lang <tirea@google.com> Optimize pattern verify

Similar to the patch last week, this optimizes the pattern verify
operation to use optimized library calls like memcmp(), and only fall
back to byte-by-byte if there is a miscompare to locate it.

This uses the same premise that the pattern is repeated as many times
as possible to do large compares in a single call. For single byte
pattern, the setup fills the pattern space, and verify assumes it is
full.

Tested by running a script which created an 8k file with 4k bs and,
one byte at a time, tried corrupting the pattern and running a read
pass and verified it still found miscompares across the whole range of
the pattern. This was done with a pattern length of 1 and 3 bytes.

In performance tests, this was about 8 times more efficient on
verifies than without this patch.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
81f0366c7adcd5d70de5c1b144eafd366933f78e 02-Feb-2012 Jens Axboe <axboe@kernel.dk> Reenable io_u->buf_filled_len optimization

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
068420271828b3b2426ffc3ccf64404cb9d340fb 17-Nov-2011 Steven Lang <tirea@google.com> Expand continue_on_error to select which type of error to allow

This expands the continue_on_error option to take a string specifying
what type of error to continue on, breaking out errors into read,
write, and verify. (Sync, trim, and anything else not specifically a
read are considered write operations for the sake of error
continuation.)

Backwards compatibility is retained by allowing =0 and =1 values to
specify none and all, respectively.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
d7ee2a7d431c2cabdf56d04ca14805cad72cf985 26-Oct-2011 Steven Lang <tirea@google.com> Fix segfault with verify_async

At some point the filename was added to the report on verify failures,
however this broke verify_async, as the file pointer on the io_u is
set to NULL before the verify thread sees the io_u.  The result is a
segfault when there is a verify mismatch.

This patch changes the semantics of a deferred free (IO_U_F_FREE_DEF)
to have already called put_file, but not set the file pointer to NULL.
 This is safe to do as the file list is only freed after all the
verify threads have been terminated.

FYI - this is the minimal config to cause the error this patch fixes,
and is what I used to test the fix. (Not using thread still causes a
segfault, but it is reported more subtly since just a sub-process hits
it.)

[segv]
ioengine=null
size=4k
verify=meta
rw=read
thread
verify_async=1

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
0dce9bc9b21a8d91aa55a29258dfaeffc57bd466 25-Oct-2011 Steven Lang <tirea@google.com> Add core for verify_dump option

The verify_dump option is defined and documented, but does nothing.
This one-liner enables the option.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/verify.c
3545a109a2cfe5ab22969ef453dc049db47f0b68 31-Aug-2011 Jens Axboe <jaxboe@fusionio.com> Ensure that buffer contents are random across jobs as well

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
2b13e716c0921356c0930522718e00b8df34293a 19-Jan-2011 Jens Axboe <jaxboe@fusionio.com> Get rid of shadow declarations

Reported-by: Bruce Cran <bruce@cran.org.uk>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
92bf48d530ab09bae4058df711c4723c73da51b9 14-Jan-2011 Jens Axboe <jaxboe@fusionio.com> Streamline pattern/meta verifies instead of special casing them

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
c7e6ae4eb46c4e294df85ee4f7dc4c71d458daad 14-Jan-2011 Jens Axboe <jaxboe@fusionio.com> Cleanup some verify bits

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
efda12bde9d13663e5cfe4ddf677bae54075fd92 14-Jan-2011 Jens Axboe <jaxboe@fusionio.com> Comment out ->buf_filled_len in pattern fill

It's buggy, needs to be debugged. Disable for now. It can cause
verify failures.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
cfbcd0dc2fcbf0f9bfe92ff8f4ab17f21e46d21e 14-Jan-2011 Jens Axboe <jaxboe@fusionio.com> Make sure that pattern verifies also dump contents

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
79402a12eecf371238f2326c9e8850eedd269b7f 14-Jan-2011 Jens Axboe <jaxboe@fusionio.com> We need libgen.h for basename()

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
6f260b317f4cec3027f79b8b329dd3f98c3906ac 13-Jan-2011 Jens Axboe <jaxboe@fusionio.com> Correct basename usage for verify dump

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
4aae38a645f3315ca2f8cc57a7ec4110ba7d8319 12-Jan-2011 Jens Axboe <jaxboe@fusionio.com> Ensure that random_seed is also added to dummy io_buf for dumping

Now everything verifies correctly.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
c50ca7bd6d5b84e24e9ddcdb1765fb4070804503 12-Jan-2011 Jens Axboe <jaxboe@fusionio.com> Pretty up the good/bad block verify dumping

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
7d9fb455aadc0c0363489591775496f27f4a560a 11-Jan-2011 Jens Axboe <jaxboe@fusionio.com> When verify fails, dump the good/bad blocks to files

This makes it easy to compare afterwards to see what kind of
corruption was experienced.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
03e20d687566753b90383571e5e152c5142bdffd 02-Jan-2011 Bruce Cran <bruce@cran.org.uk> First snapshot of FIO for Windows

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
2f68124f26e54233db41b462a257dabc48e5c32b 21-Oct-2010 Jens Axboe <jaxboe@fusionio.com> A few fixes for 32-bit compiles

- Change the HAVE_SSE to HAVE_SSE4_2 and only provide it on
x86-64.
- Cast two values that otherwise cause the compiler to warn on 32-bit

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
a917a8b3dfeefdd7007ba2f46f21fc145574309d 02-Sep-2010 Jens Axboe <jaxboe@fusionio.com> Trim/discard fixes

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
0d29de831183dfd049c97a03008d425ce21e2fa4 01-Sep-2010 Jens Axboe <jaxboe@fusionio.com> Add verify trim support

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
304a47c7d94f407cc72a87025679a67f02288447 01-Aug-2010 bart Van Assche <bart.vanassche@gmail.com> Reduce thread stack size

This patch reduces the stack size required by fio threads and hence allows
to run fio with 200 or more threads on systems with a moderate amount of
virtual memory.

Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
10e8a7b30ce2917df9f839d42596c7e3af9a904f 15-Jul-2010 Radha Ramachandran <radha@google.com> No need to use specific flag for io_u fill length

The fill length already provides that information.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
9522850758ecad087891710b391b4e77f6bff839 14-Jul-2010 Jens Axboe <jaxboe@fusionio.com> Turn io_u filled variable into a flag

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
cbe8d7561cf6d81d741d87eb7940db2a111d2144 14-Jul-2010 Radha Ramachandran <radha@google.com> Reuse filled pattern

I made changes to fio so we wld re-use the already populated io_u
buffer (when there is a non-random pattern) during writes. That way
only the header will be re-calculated for every I/O. This way the
buffer wld get populated in the beginning and as long as the
subsequent ios using the same io_u structure are writes and have same
or less block size, it wld get re-used. If any of the subsequent i/o
is a read or has a block size greater than the pre-filled one, then
the buffer is invalidated and will be re-filled at the next write.

Reason for this risky change: (Performance)
I tested this change on a tmpfs(with no swap backing), with the
following config file:
[sscan_write]
filename=/mytmpfs/datafile.tmp
rw=write
bs=64k
size=3G
ioengine=libaio
iodepth=1024
iodepth_low=512
runtime=10800
bwavgtime=5000
thread=1
do_verify=0
verify=meta
verify_pattern=0x55aaa55a
verify_interval=4k
continue_on_error=1

fio-1-41-6 gave 306MB/s and the new change had a performance of 1546MB/s

Side effects/Risks:
There is a risk with this fix, that if the buffer gets corrupted then
the subsequent writes will also be corrupt. I think for both
sequential writes and random writes (with verify, where the I/O log is
replayed) we shld be able to find the first I/O that started with the
corruption and if the buffer is getting corrupted, there are other
issues here.

Testing:
I have tested this fix with sequential write(verify)/random read write
mix combination(with verify).

I think I have taken care of most of the case, but please let me know
if there is anything I have missed. I have attached the patch along
with this email. I think the performance improvement outweighs the
risk associated with the fix. But I will let you decide if you wld
like to pick it up.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
637ef8d9f7645135cf4829894d1e3983cd7a042e 21-Jun-2010 Jens Axboe <jaxboe@fusionio.com> Speedup verify random fills by 10-15x

Move the pseudo-random helper into lib/rand.c and use that
from the verify populate as well.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
f3e6cb95fecf867ec46e3dfd59ef1a1db1b6ad2a 18-Jun-2010 Jens Axboe <jaxboe@fusionio.com> Verify fatal fixups

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
c9b440312ff63c2b4c8548530f24c2eb5820b6a3 18-Jun-2010 Jens Axboe <jaxboe@fusionio.com> Error reporting fixups for meta/pattern verifies

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
32c17adf7f75da1f0957d4691633fea60259910f 18-Jun-2010 Jens Axboe <jaxboe@fusionio.com> Include file name in offset failure

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
bfacf389e9edb1b63ca0b9c6cb2aea8b06d53ace 18-Jun-2010 Jens Axboe <jaxboe@fusionio.com> Unified verify failure error reporting

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
936216f8cd8ae2261282453d82a2a8232bb4db45 18-Jun-2010 Jens Axboe <jaxboe@fusionio.com> First step in unified crc error logging

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
b6bf4995922789978a43954c53d501b159d15b0e 18-Jun-2010 Jens Axboe <jaxboe@fusionio.com> Fix bad int truncate in verify

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
9e144189c6e000df8a797312e43a4913f3b83c9a 15-Jun-2010 Jens Axboe <jaxboe@fusionio.com> Add some support for a verify backlog

Instead of writing everything and then verifying everything,
allow a job to specify incremental verify stages. This can
help reduce memory consumption of fio, since we don't have
to store a huge number of verify entries to be processed
when the write phase is complete.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/verify.c
bc77f56f79f6ae155e9eb26263ed686ef28b47ec 23-Feb-2010 Jens Axboe <jens.axboe@oracle.com> Fix bug in sha256 verify

It was using twice as large data block as it should have been,
causing verify failures.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
b7a3e6616829c16ba11ff2d5f7c17a598e40dfeb 12-Nov-2009 Radha Ramachandran <radha@google.com> Log bad verify header location

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
2ecc1b57721e3cb72bbf558bc169c97037fe3d0a 04-Nov-2009 Jens Axboe <jens.axboe@oracle.com> Fix race on io_u->flags

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
0c41214ff4e6f31f8df64aac37be7853aada6f1f 03-Nov-2009 Radha Ramachandran <radha@google.com> Fix race condition when using asynch verify

I discovered the race condition when using asynch verify with libaio engine.
The code assumes that because the td->cur_depth value is not 0 that
there is still I/O pending and issues io_getevents when the I/O was
actually being verified by the asynchronous verify thread. This causes
the code to hang.

(Updated by Jens to use a new io_u->flag bitfield instead of adding a new
integer to struct io_u).

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
0e92f873a3d542d2b237d68fd9391c92a85fa0b8 27-Oct-2009 Radha Ramachandran <radha@google.com> Support > 4 byte verify write patterns

This is the patch I have to write/read/verify hex patterns of size > 4
bytes. I have tested these on hard drives and did not see any
performance change. I am assuming the performance drop if any might show
up in the read phase for probably solid state drives and maybe it can be
worked around using the asynchronous verify flag.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
7c353ceb3257b132f4c98326046b42201e070731 09-Aug-2009 Jens Axboe <jens.axboe@oracle.com> Add Linus' optimized sha1 hash for checksum

It does appear to be pretty fast.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
e92d3d714acfe180413f63a5e5327de594aad0ef 27-Jul-2009 Radha Ramachandran <radha@google.com> Verify pattern & header meta data

Also verify meta data when doing pattern verify, if available.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
e40823b10920f679d84f3f2222e319c168b1e7da 06-Jul-2009 Jens Axboe <jens.axboe@oracle.com> Print error on thread init failure

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
b36e298b5bdfc31ffc9a4c14e94a9c5c748888b0 06-Jul-2009 Jens Axboe <jens.axboe@oracle.com> Code indentation fix

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
d561f2ab37ef5729882ef3c6e6ed8ee49414955f 06-Jul-2009 Jens Axboe <jens.axboe@oracle.com> Make async IO verify offload handle errors properly

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
e53ab27c7425241d64e8d64ad77850a776c01375 06-Jul-2009 Jens Axboe <jens.axboe@oracle.com> Improve async verify offload efficiency

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
e8462bd8250cf3ff2d41f17e1a4d4cefc70b6b37 06-Jul-2009 Jens Axboe <jens.axboe@oracle.com> Add support for async IO verification offload

This adds support for setting up a number of IO verification offload
threads, instead of doing the offload inline. An option for controlling
the CPU affinity of those threads are always added.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
4f5af7b2370a6d3e64bc5128905c1aa8b0dc51b0 03-Jun-2009 Jens Axboe <jens.axboe@oracle.com> Cleanup verify headers

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
d6aed795f2e3e403828abf60874dd2d6e8342a1b 03-Jun-2009 Jens Axboe <jens.axboe@oracle.com> Clean up file flags

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
9fd189697dbf9fb7878093be5e41f25b7f932c2d 19-May-2009 Jens Axboe <jens.axboe@oracle.com> Return EILSEQ on verify errors instead of EIO

Suggested by Randy Dunlap <randy.dunlap@oracle.com>

This makes it easier to differentiate between an error to read/write
from disk versus getting the wrong data back.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
3845591fadea480177223e28c9d1c03642d34f0e 04-Aug-2008 Jens Axboe <jens.axboe@oracle.com> Add intel hardware assisted crc32c support

Not tested, since I don't have the hardware.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
bac39e0e8807a1d52863ad8304e67221df2bc63b 11-Jun-2008 Jens Axboe <jens.axboe@oracle.com> Add crc32c checksum

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
01743ee1718e7ec4b16ae3e53c8f64900c6052cc 02-Jun-2008 Jens Axboe <jens.axboe@oracle.com> Rename list_* function and file to flist_ to avoid conflict with FreeBSD

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
5921e80c5dfc9f96d2f21da6ae58f2b5d3a0b373 30-May-2008 Jens Axboe <jens.axboe@oracle.com> Make it work on opensolaris

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
5ec10eaad3b09875b91e19a20bbdfa06f2117562 06-Mar-2008 Jens Axboe <jens.axboe@oracle.com> Style fixups

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
bd6f78b2f0b6375383948f126368804612ec0035 01-Feb-2008 Jens Axboe <jens.axboe@oracle.com> Add blktrace and verify debug tracing

Also add "all" as a keyword for setting all values, and pretty up
the output a bit by justifying and aligning the output.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
e28218f3017e5eb156d3a4a6e7b33651dc022cea 16-Jan-2008 Shawn Lewis <shawnlewis@google.com> Revert "Remove verify_pattern option, replace with verify=pattern:x"

This reverts commit bfb41d98f63cb9fb72cb7c82618be10bc6d52c33.

Reverting lets us have verify=meta and specify a verify_pattern at the same
time. Sample surfacescan conf file coming up.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
d16d4e09352f618c266d1efe27cbb25a95df6e86 06-Sep-2007 Jens Axboe <jens.axboe@oracle.com> Verify handlers should return Exxx error, not just 1

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
4764aec9fe5988281bdc114c13ac771fb16713cc 23-Aug-2007 Jens Axboe <jens.axboe@oracle.com> Style fixup

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
bfb41d98f63cb9fb72cb7c82618be10bc6d52c33 10-Aug-2007 Jens Axboe <jens.axboe@oracle.com> Remove verify_pattern option, replace with verify=pattern:x

Integrate the pattern verification with the other verify types,
it's much cleaner that way.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
a12a3b4d8903b9941705067442c2c530a94635f3 09-Aug-2007 Jens Axboe <jens.axboe@oracle.com> Add verify_fatal option

Causes fio to exit after a single block verification failure, instead of
checking the remainder as well.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
3f199b01fc9cc7a0f4915db266d7a28bc46e84f0 09-Aug-2007 Jens Axboe <jens.axboe@oracle.com> Improve verify pattern failure logging

Show number of bad bits and block offset.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
a944e335fac62c75966b417a25ec107c40957cdb 02-Aug-2007 Shawn Lewis <shawnlewis@google.com> Verify the pattern we've written

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
dee6de74152299f2a7df07ae971a53441b971daf 02-Aug-2007 Shawn Lewis <shawnlewis@google.com> [PATCH] Fix memswp. Its scratch space was too small

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
7437ee87e4f6457168e8440f9308b4296ddb9263 02-Aug-2007 Shawn Lewis <shawnlewis@google.com> [PATCH] Add verify_meta verification type

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
eef6eea1b935a67f1ae26b38e06a69d4410a12aa 30-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Move checksumming files to seperate directory

Too many of them now, move them out-of-sight. They will rarely
be modified anyway.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
546dfd9ff99eec4af5d1c6c2ca702b7cf9656334 30-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Seperate verify_header from the checksum type

If using one of the leaner checksums, we potentially have almost
128 more bytes of real data in a block.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
8767783245faac99a7e1c330a1d6536e579c8402 30-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Prepare for splitting the verify_header from the checksum header

Some of the checksums carry a lot of data. We unionize the checksum
header right now inside the verify header, causing a lot of wasted
space for the leaner variants.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
cd14cc1079771ece34fce5b30d47c7b273ee56e5 30-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Add sha256 and sha512 checksums

That should suffice...

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
61f821f16cf27d8742e09b3a137c933cd0085e9b 30-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Properly initialize md5 hash seed

We started from 0, that's not entirely correct.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
90059d65bde4804e4da07401ad6902c1d956b592 30-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Add verify_pattern option

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
a59e170d683f9ccbaa45648d7ae9a13b70e3822c 30-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Rename header_offset and header_interval options

Header doesn't really express that this has to do with io verification.
So rename the options to verify_offset and verify_interval.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
fd00954ca87b3b083ec6987e593a16ff01913fe8 29-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Fix bug in md5 calculation

Commit 8c432325c3df2075a77b27eab8a87704cf7b48ee introduced a bug for
smaller sizes. Just basically revert the optimization, safer to stay
with a 'reference' implementation than skip a memset.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
c9b3fdf3828fe15cfdcaace7c84ad96e90e24a46 29-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Fix md5 verify

The header_interval/offset changes introduced a bug, doing sizeof
on a pointer where it should have been the array. So we didn't compare
the full md5, just the first sizeof(pointer) bytes.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
d9f2caf3de3f2ba6f8ecd8a2688e1eb7715bc2aa 28-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Abstract out the data offset calculation

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
95646108f83a34c0486d7f3ed19e99c1d93691e6 28-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Cleanup verify pointer casting

Just make 'p' void *, like io_u->buf.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
546a9142511875524850ac92776184fd9fb7196e 28-Jul-2007 Shawn Lewis <shawnlewis@google.com> [PATCH] Offset verification header by a user-specified distance

Offset verification header by user specified distance.

- Implementation is somewhat simple and probably not ideal but it works. The
header is just swapped with the bytes at offset after the chunk has been
filled during populate. Everything is swapped back before verify.

- Also fixes a bug where we were relying on a moving pointer for increment
size in populate_verify_io_u (which was working until this patch).

- Also cleans up a couple smalls things from the header_interval patch.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
3f9f4e2631c4f5d33f125dd71db20c1773d22c91 28-Jul-2007 Shawn Lewis <shawnlewis@google.com> [PATCH] Allow verification to be done at finer granularity

Allow verification to be done at a finer granularity than blocksize.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
d77a7af3e718200bbd77d76194725ead4bdb3591 27-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Add sample crc64 checksum

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
8c432325c3df2075a77b27eab8a87704cf7b48ee 27-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Speed up md5 hash filling/verifying by 20%

Get rid of the on-stack hash copies, hash directly into the buffer.
We need to 'fix' md5 to just initially clear a/b/c/d in md5_update().
Tested, works, generates same checksums.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
a3ff21e3875887a28a40eb246e5c8f0c01cf96cd 27-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Clean up verify_io_u()

Use a switch statement, like in the pre-io filler.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
baefa9beacca430b8e3275c07d2f46ef14654468 27-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Speed up verify fill

It's silly to fill an on-stack header, and then copy it to the io_u.
Just map the pointer to the buffer start.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
1f24ea44c8d8bf40e05608b48ef342a345d75ee8 27-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Type in crc16 verify failure

Should dump crc16, not crc32.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
1e154bdbf14a1d352117aea057035235b66f0381 27-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Add crc7 verify type

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
969f7ed32353ade93ea30542a4993b75b94e3f8a 27-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Add crc16 verify type

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
1dcc049824b840df1ee0ef5d019fffa4037e1bb0 27-Jul-2007 Shawn Lewis <shawnlewis@google.com> [PATCH] Only verify_io_u on reads

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
4c5946c6606abc87ba7e2bfc57a5030d19b6d4d5 26-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Fix verify random bytes filling

Shawn Lewis <shawnlewis@google.com> reports:

---

verify.c: fill_random_bytes() doesn't work as intended.

drand48 on linux returns a double whose value is evenly distributed between
0.0 and 0.1. This is not the same as having an 8-byte value where each bit
has the same chance of being 0 as it does of being 1.

I'd fix this but it should probably be done in a cross-platformish way and
I'm not quite sure how to do it. Maybe just use smaller randoms? Have an
os_random_uint32?

---

I just got rid of os_random_double() and used os_random_long(),
truncating that to an unsigned integer.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
97af62cec418cd722fb43c6010d6430534e12353 22-May-2007 Jens Axboe <jens.axboe@oracle.com> IO verification needs to open and grab a reference to a file

Otherwise it can disappear in midair.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
317b95d07d4921d2594a1be6e014c9c2d062fe75 02-Apr-2007 Jens Axboe <jens.axboe@oracle.com> Move os/arch/compiler headers into directories

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
8de8f047bd025f12d23cfc3fc1793434c6d8ff94 27-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Avoid using the rbtree if we don't have to

Basically reinstate the old logic of not sorting when it's
not a win for reading the data back.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
9cc3d1506b9f7ce0a9dba38c32c418e54ea0b573 26-Mar-2007 Jens Axboe <jens.axboe@oracle.com> No need to fill random bytes for VERIFY_NULL

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
36690c9b5b50736cec1fcd53100f01fd1181fdf4 26-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Add 'null' verify option

For testing purposes.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
4b87898e8d76aaf05baec83077a11311c1447397 26-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Fix io piece logging to not have O(n) runtime

Use an rbtree for that log instead.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
2dc1bbeb58edc85f2829eed6729862c438ea2353 15-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Move thread options into a seperate structure

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
6d86144dd10b05e8b82e9b895c35dd778e5e71ab 15-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Use log_info() throughout

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
a7dfe862c2e3fe72b8db6a6e67302048d3731c6d 12-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Return EIO for verification failure

We passed back 1, where we need some sort of symbolic error.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
d2d7fa53c18f1fc3fb89f3fe20df9b39986bde72 19-Feb-2007 Jens Axboe <jens.axboe@oracle.com> Verify requeue handling

If file is already filled, it's a requeue. In that case, don't grab
a new io_piece, we already filled the offsets in the io_u.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
3af6ef399a9df324ffe4a8c8e03b52a42f587229 18-Feb-2007 Jens Axboe <jens.axboe@oracle.com> Fully parallellize io_u verification

Keep a full queue whenever possible, do verifications while
io is in progress.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
36167d82e5f49dee91c6d2cd426068edee90e36f 18-Feb-2007 Jens Axboe <jens.axboe@oracle.com> Change IO engine queuing

Instead of always pretending to be async, let the IO engines
return FIO_Q_COMPLETED or FIO_Q_QUEUED to signal async or
sync completions regardless of their nature. This cleans up
the queuing model quite a bit.

Also fixed a verification error spotted while doing this
transformation.

The main intent of this is to allow queuing more than 1 piece
of IO at the time, that will come in a later changeset.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
a4f4fdd7c9e46a50bc33ecef44d9f06036580ad4 14-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] First cut syslet async io support

Doesn't seem to perform as well as expected, needs investigation.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
1e97cce9f5a87a67293a05ec4533ed6968698b2e 05-Dec-2006 Jens Axboe <jens.axboe@oracle.com> [PATCH] Fix warnings from icc

icc spewed a bunch of warnings on building fio, but it did actually build
and work. Some of them are real bugs, most are just "helpful" warnings.

icc doesn't like pointer arithmetic, however these are not fixed up. It
works as-is, just ignore those class of warnings.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
a9619d44b439ac9c0d292925a5b4fd1b944d1263 18-Oct-2006 Jens Axboe <jens.axboe@oracle.com> [PATCH] More verify code move

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c
e29d1b70a21e29801fb35dfbc1b236b7c8514055 18-Oct-2006 Jens Axboe <jens.axboe@oracle.com> [PATCH] Split out the verify io parts

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/verify.c