From 0574c885b82aea0332ab5fa35af84db0f3946726 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Fri, 14 Mar 2014 12:24:28 -0600 Subject: [PATCH] Don't scramble buffers if compression is enabled For the other buffer settings (like patterns, or whether always to refill or not), we don't do the slight header scramble if they are enabled. Do they same for compression settings, otherwise we can skew the compression results. Signed-off-by: Jens Axboe --- init.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/init.c b/init.c index 73ec9eb2..0a872c0f 100644 --- a/init.c +++ b/init.c @@ -856,6 +856,11 @@ int ioengine_load(struct thread_data *td) return 0; } +static int compression_enabled(struct thread_options *o) +{ + return o->compress_percentage || o->compress_chunk; +} + static void init_flags(struct thread_data *td) { struct thread_options *o = &td->o; @@ -868,8 +873,14 @@ 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) + + /* + * Don't scramble buffers if we set any of the compression + * settings + */ + if (o->scramble_buffers && !compression_enabled(o)) td->flags |= TD_F_SCRAMBLE_BUFFERS; + if (o->verify != VERIFY_NONE) td->flags |= TD_F_VER_NONE; } -- 2.25.1