[PATCH] fio: disable verify for random io for now
authorJens Axboe <axboe@suse.de>
Fri, 4 Nov 2005 11:55:41 +0000 (12:55 +0100)
committerJens Axboe <axboe@suse.de>
Fri, 4 Nov 2005 11:55:41 +0000 (12:55 +0100)
fio.c

diff --git a/fio.c b/fio.c
index 8324a027b8f49d920a600125ba1ca1ca2b11535c..5e41699827a7118eda6d65edd4a9ee9105d45f19 100644 (file)
--- a/fio.c
+++ b/fio.c
@@ -602,16 +602,8 @@ static int verify_io_u(struct thread_data *td, struct io_u *io_u)
        unsigned char *p = (unsigned char *) io_u->buf;
        struct md5_ctx md5_ctx;
 
-       /*
-        * assume this is a file hole, if we have been doing random writes
-        * and magic is zero
-        */
-       if (hdr->fio_magic != FIO_HDR_MAGIC) {
-               if (!td->sequential && !hdr->fio_magic)
-                       return 0;
-
+       if (hdr->fio_magic != FIO_HDR_MAGIC)
                return 1;
-       }
 
        memset(&md5_ctx, 0, sizeof(md5_ctx));
        p += sizeof(*hdr);
@@ -789,6 +781,7 @@ static int do_sync_verify(struct thread_data *td)
                        break;
 
                if (back) {
+                       printf("will seek %d %d\n", ret, back);
                        ret -= back;
                        if (lseek(td->fd, -back, SEEK_CUR) < 0) {
                                td->error = errno;
@@ -1474,7 +1467,7 @@ static void *thread_main(int shm_id, int offset, char *argv[])
                if (!td->use_aio) {
                        do_sync_io(td);
 
-                       if (!td->verify || td_read(td))
+                       if (!td->verify)
                                continue;
 
                        clear_io_state(td);
@@ -1483,7 +1476,7 @@ static void *thread_main(int shm_id, int offset, char *argv[])
                } else {
                        do_async_io(td);
 
-                       if (!td->verify || td_read(td))
+                       if (!td->verify)
                                continue;
 
                        clear_io_state(td);
@@ -1668,6 +1661,8 @@ static int add_job(struct thread_data *td, const char *filename, int prioclass,
                td->min_bs = td->bs;
        if (td->max_bs == -1)
                td->max_bs = td->bs;
+       if (td_read(td) || !td->sequential)
+               td->verify = 0;
 
        if (setup_rate(td))
                return -1;