Deprecate verifysort and verifysort_nr
[fio.git] / io_u.c
diff --git a/io_u.c b/io_u.c
index 98a7dc560600ce7c7fc8cfa191e734e5cee29276..633f6175170f4c88004c71fa14e756cf55d22480 100644 (file)
--- a/io_u.c
+++ b/io_u.c
@@ -77,11 +77,6 @@ static uint64_t last_block(struct thread_data *td, struct fio_file *f,
        return max_blocks;
 }
 
-struct rand_off {
-       struct flist_head list;
-       uint64_t off;
-};
-
 static int __get_next_rand_offset(struct thread_data *td, struct fio_file *f,
                                  enum fio_ddir ddir, uint64_t *b,
                                  uint64_t lastb)
@@ -272,16 +267,8 @@ bail:
        return 0;
 }
 
-static int flist_cmp(void *data, struct flist_head *a, struct flist_head *b)
-{
-       struct rand_off *r1 = flist_entry(a, struct rand_off, list);
-       struct rand_off *r2 = flist_entry(b, struct rand_off, list);
-
-       return r1->off - r2->off;
-}
-
-static int get_off_from_method(struct thread_data *td, struct fio_file *f,
-                              enum fio_ddir ddir, uint64_t *b)
+static int get_next_rand_offset(struct thread_data *td, struct fio_file *f,
+                               enum fio_ddir ddir, uint64_t *b)
 {
        if (td->o.random_distribution == FIO_RAND_DIST_RANDOM) {
                uint64_t lastb;
@@ -306,25 +293,6 @@ static int get_off_from_method(struct thread_data *td, struct fio_file *f,
        return 1;
 }
 
-/*
- * Sort the reads for a verify phase in batches of verifysort_nr, if
- * specified.
- */
-static inline bool should_sort_io(struct thread_data *td)
-{
-       if (!td->o.verifysort_nr || !td->o.do_verify)
-               return false;
-       if (!td_random(td))
-               return false;
-       if (td->runstate != TD_VERIFYING)
-               return false;
-       if (td->o.random_generator == FIO_RAND_GEN_TAUSWORTHE ||
-           td->o.random_generator == FIO_RAND_GEN_TAUSWORTHE64)
-               return false;
-
-       return true;
-}
-
 static bool should_do_random(struct thread_data *td, enum fio_ddir ddir)
 {
        unsigned int v;
@@ -337,44 +305,6 @@ static bool should_do_random(struct thread_data *td, enum fio_ddir ddir)
        return v <= td->o.perc_rand[ddir];
 }
 
-static int get_next_rand_offset(struct thread_data *td, struct fio_file *f,
-                               enum fio_ddir ddir, uint64_t *b)
-{
-       struct rand_off *r;
-       int i, ret = 1;
-
-       if (!should_sort_io(td))
-               return get_off_from_method(td, f, ddir, b);
-
-       if (!flist_empty(&td->next_rand_list)) {
-fetch:
-               r = flist_first_entry(&td->next_rand_list, struct rand_off, list);
-               flist_del(&r->list);
-               *b = r->off;
-               free(r);
-               return 0;
-       }
-
-       for (i = 0; i < td->o.verifysort_nr; i++) {
-               r = malloc(sizeof(*r));
-
-               ret = get_off_from_method(td, f, ddir, &r->off);
-               if (ret) {
-                       free(r);
-                       break;
-               }
-
-               flist_add(&r->list, &td->next_rand_list);
-       }
-
-       if (ret && !i)
-               return ret;
-
-       assert(!flist_empty(&td->next_rand_list));
-       flist_sort(NULL, &td->next_rand_list, flist_cmp);
-       goto fetch;
-}
-
 static void loop_cache_invalidate(struct thread_data *td, struct fio_file *f)
 {
        struct thread_options *o = &td->o;
@@ -1699,7 +1629,7 @@ static void small_content_scramble(struct io_u *io_u)
 
 /*
  * Return an io_u to be processed. Gets a buflen and offset, sets direction,
- * etc. The returned io_u is fully ready to be prepped and submitted.
+ * etc. The returned io_u is fully ready to be prepped, populated and submitted.
  */
 struct io_u *get_io_u(struct thread_data *td)
 {
@@ -1760,12 +1690,9 @@ struct io_u *get_io_u(struct thread_data *td)
                                        td->o.min_bs[DDIR_WRITE],
                                        io_u->buflen);
                        } else if ((td->flags & TD_F_SCRAMBLE_BUFFERS) &&
-                                  !(td->flags & TD_F_COMPRESS))
+                                  !(td->flags & TD_F_COMPRESS) &&
+                                  !(td->flags & TD_F_DO_VERIFY))
                                do_scramble = 1;
-                       if (td->flags & TD_F_VER_NONE) {
-                               populate_verify_io_u(td, io_u);
-                               do_scramble = 0;
-                       }
                } else if (io_u->ddir == DDIR_READ) {
                        /*
                         * Reset the buf_filled parameters so next time if the