Flexible I/O Tester development
 help / color / mirror / Atom feed
From: Vasily Tarasov <tarasov@vasily.name>
To: fio@vger.kernel.org
Subject: [PATCH] dedupe_percentage should work even if compress_percentage is not set
Date: Tue, 27 Jan 2015 14:24:48 -0500	[thread overview]
Message-ID: <20150127192448.GA16313@vass-desktop> (raw)

[-- Attachment #1: Type: text/plain, Size: 867 bytes --]

[PATCH] dedupe_percentage should work even if compress_percentage is not set 

Currently dedupe_percentage option does not work properly if compress_percentage
is not set. This can be easily demonstrated using the following job file:

[job-/dev/dm-0]
filename=/dev/dm-0
rw=randwrite
blocksize=4096
direct=1
ioengine=libaio
iodepth=32
dedupe_percentage=50
time_based=1
runtime=5
numjobs=1

All writes will contain zeroes for the above job file.

The problem is in fill_io_buffer() function that switches dedupe random state
only if o->compress_percentage is set.                                                                                                                                                                         

This patch updates the condition appropriately in fill_io_buffer()
appropriately.

Signed-off-by: Vasily Tarasov <tarasov@vasily.name>

[-- Attachment #2: diff-dedupe.diff --]
[-- Type: text/x-diff, Size: 436 bytes --]

diff --git a/backend.c b/backend.c
index 9012140..25db74a 100644
--- a/backend.c
+++ b/backend.c
@@ -1866,7 +1867,7 @@ void fill_io_buffer(struct thread_data *td, void *buf, unsigned int min_write,
 {
 	struct thread_options *o = &td->o;
 
-	if (o->compress_percentage) {
+	if (o->compress_percentage || o->dedupe_percentage) {
 		unsigned int perc = td->o.compress_percentage;
 		struct frand_state *rs;
 		unsigned int left = max_bs;

             reply	other threads:[~2015-01-27 19:24 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-27 19:24 Vasily Tarasov [this message]
2015-01-28 16:11 ` [PATCH] dedupe_percentage should work even if compress_percentage is not set Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150127192448.GA16313@vass-desktop \
    --to=tarasov@vasily.name \
    --cc=fio@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox