dedupe_percentage should work even if compress_percentage is not set
PATCH 1/1 dedupe_percentage should work even if compress_percentage is not set
[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.
backend.c +1 -1
@@ -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;
Quoted 17 lines · Vasily Tarasov
[PATCH]
dedupe_percentageshould work even ifcompress_percentageis not setCurrently
dedupe_percentageoption does not work properly ifcompress_percentageis 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
Quoted 7 lines
All writes will contain zeroes for the above job file.
The problem is in
fill_io_buffer()function that switches dedupe random state only ifo->compress_percentageis set.This patch updates the condition appropriately in
fill_io_buffer()appropriately.
Thanks, looks good, applied.
Signature · 1 line
Jens Axboe