if (use_seed)
__fill_random_buf(p, len, seed);
else
- io_u->rand_seed = fill_random_buf(&td->buf_state, p, len);
+ io_u->rand_seed = fill_random_buf(&td->__verify_state, p, len);
return;
}
-
+
if (io_u->buf_filled_len >= len) {
dprint(FD_VERIFY, "using already filled verify pattern b=%d len=%u\n",
td->o.verify_pattern_bytes, len);
memswp(p, p + td->o.verify_offset, header_size);
hdr = p;
+ /*
+ * Make rand_seed check pass when have verifysort or
+ * verify_backlog.
+ */
+ if (td->o.verifysort || (td->flags & TD_F_VER_BACKLOG))
+ io_u->rand_seed = hdr->rand_seed;
+
ret = verify_header(io_u, hdr);
switch (ret) {
case 0:
remove_trim_entry(td, ipo);
free(ipo);
dprint(FD_VERIFY, "get_next_verify: ret io_u %p\n", io_u);
+
+ if (!td->o.verify_pattern_bytes) {
+ io_u->rand_seed = __rand(&td->__verify_state);
+ if (sizeof(int) != sizeof(long *))
+ io_u->rand_seed *= __rand(&td->__verify_state);
+ }
return 0;
}