Allow verify w/norandommap and bsrange
authorJustin Eno <jeno@micron.com>
Thu, 29 Jan 2015 22:28:38 +0000 (14:28 -0800)
committerJens Axboe <axboe@fb.com>
Wed, 18 Feb 2015 18:38:37 +0000 (10:38 -0800)
Only intact blocks are verified; partially-overwritten blocks
are ignored
Signed-off-by: Justin Eno <jeno@micron.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
HOWTO
init.c

diff --git a/HOWTO b/HOWTO
index 8da5527a3edb6cbfd408f497260651d99c633be0..0f7909daef68c32e0e4cee1546d4b93a479a3e0a 100644 (file)
--- a/HOWTO
+++ b/HOWTO
@@ -919,10 +919,10 @@ norandommap       Normally fio will cover every block of the file when doing
                random IO. If this option is given, fio will just get a
                new random offset without looking at past io history. This
                means that some blocks may not be read or written, and that
-               some blocks may be read/written more than once. This option
-               is mutually exclusive with verify= if and only if multiple
-               blocksizes (via bsrange=) are used, since fio only tracks
-               complete rewrites of blocks.
+               some blocks may be read/written more than once. If this option
+               is used with verify= and multiple blocksizes (via bsrange=),
+               only intact blocks are verified, i.e., partially-overwritten
+               blocks are ignored.
 
 softrandommap=bool See norandommap. If fio runs with the random block map
                enabled and it fails to allocate the map, if this option is
diff --git a/init.c b/init.c
index bb53a1e2bc097a256172db7e46075bd5658704da..c210ad257ce3125a1ecb62152fe26648a5d320bc 100644 (file)
--- a/init.c
+++ b/init.c
@@ -596,8 +596,7 @@ static int fixup_options(struct thread_data *td)
        if (o->norandommap && o->verify != VERIFY_NONE
            && !fixed_block_size(o))  {
                log_err("fio: norandommap given for variable block sizes, "
-                       "verify disabled\n");
-               o->verify = VERIFY_NONE;
+                       "verify limited\n");
                ret = warnings_fatal;
        }
        if (o->bs_unaligned && (o->odirect || td->io_ops->flags & FIO_RAWIO))