verify: disable numberio check for multiple block sizes
authorJens Axboe <axboe@fb.com>
Mon, 21 Jul 2014 09:31:49 +0000 (11:31 +0200)
committerJens Axboe <axboe@fb.com>
Mon, 21 Jul 2014 09:31:49 +0000 (11:31 +0200)
Yet another corner case that doesn't work...

Signed-off-by: Jens Axboe <axboe@fb.com>
verify.c

index e59a4b29051065cd9ebd1caf0ab1b9494f313211..7c99e15e73be52ec8342529a545368c459b51920 100644 (file)
--- a/verify.c
+++ b/verify.c
@@ -405,13 +405,13 @@ static int verify_io_u_meta(struct verify_header *hdr, struct vcont *vc)
 
        /*
         * For read-only workloads, the program cannot be certain of the
 
        /*
         * For read-only workloads, the program cannot be certain of the
-        * last numberio written to a block. Checking of numberio will be done
-        * only for workloads that write data.
-        * For verify_only, numberio will be checked in the last iteration when
-        * the correct state of numberio, that would have been written to each
-        * block in a previous run of fio, has been reached.
+        * last numberio written to a block. Checking of numberio will be
+        * done only for workloads that write data.  For verify_only,
+        * numberio will be checked in the last iteration when the correct
+        * state of numberio, that would have been written to each block
+        * in a previous run of fio, has been reached.
         */
         */
-       if (td_write(td) || td_rw(td))
+       if ((td_write(td) || td_rw(td)) && (td_min_bs(td) == td_max_bs(td)))
                if (!td->o.verify_only || td->o.loops == 0)
                        if (vh->numberio != io_u->numberio)
                                ret = EILSEQ;
                if (!td->o.verify_only || td->o.loops == 0)
                        if (vh->numberio != io_u->numberio)
                                ret = EILSEQ;