Skip to contentSkip to conversation

dedupe_percentage should work even if compress_percentage is not set

PATCH In review Vasily Tarasov 2 participants 2 messages Jan 27, 2015 – Jan 28, 2015

lore
Share & tools
lore
#0 lore raw

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
index 9012140..25db74a 100644
@@ -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;
#1 lore raw
Quoted 17 lines · Vasily Tarasov

[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

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 if o->compress_percentage is set.

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

Thanks, looks good, applied.

Signature · 1 line
Jens Axboe