[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@xxxxxxxxxxx>
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;