From: Jens Axboe Date: Thu, 4 May 2017 14:43:27 +0000 (-0600) Subject: options: force refill_buffers with pattern and any reads X-Git-Tag: fio-2.20~5 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=c55fae03f7d5c0981e55241fc9003d762f7a5fd9;ds=sidebyside options: force refill_buffers with pattern and any reads This will cause writes to always refill the buffer, which is needed to avoid having the reads garble the contents. Signed-off-by: Jens Axboe --- diff --git a/options.c b/options.c index 85574d7f..b489e902 100644 --- a/options.c +++ b/options.c @@ -1306,8 +1306,17 @@ static int str_buffer_pattern_cb(void *data, const char *input) assert(ret != 0); td->o.buffer_pattern_bytes = ret; - if (!td->o.compress_percentage) + + /* + * If this job is doing any reading or has compression set, + * ensure that we refill buffers for writes or we could be + * invalidating the pattern through reads. + */ + if (!td->o.compress_percentage && !td_read(td)) td->o.refill_buffers = 0; + else + td->o.refill_buffers = 1; + td->o.scramble_buffers = 0; td->o.zero_buffers = 0;