Always scramble buffers, if scramble_buffers is set
[fio.git] / init.c
diff --git a/init.c b/init.c
index 9fbc477fd760651d117dc1bd37547bab98454ae9..f606087e42c942e565314f20a57a038be2535d68 100644 (file)
--- a/init.c
+++ b/init.c
@@ -926,7 +926,13 @@ static void init_flags(struct thread_data *td)
                td->flags |= TD_F_READ_IOLOG;
        if (o->refill_buffers)
                td->flags |= TD_F_REFILL_BUFFERS;
-       if (o->scramble_buffers)
+       /*
+        * Scramble by default, but not if zero_buffer is true and has been
+        * set. But if scramble_buffers has been set, always scramble.
+        */
+       if (o->scramble_buffers && ((!o->zero_buffers &&
+           fio_option_is_set(o, zero_buffers)) ||
+           fio_option_is_set(o, scramble_buffers)))
                td->flags |= TD_F_SCRAMBLE_BUFFERS;
        if (o->verify != VERIFY_NONE)
                td->flags |= TD_F_VER_NONE;