Compression fixes
- memset() remainder of buffer instead of copying random segment.
Provides more reliable compression (yes yes, you told me so).
- Allow 100 as well, just means full memset. Make that just set
zero_buffers=1 instead, since we only need to do it once
instead of for every write.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/init.c b/init.c
index 710e867..6c74ea6 100644
--- a/init.c
+++ b/init.c
@@ -568,6 +568,15 @@
}
#endif
+ /*
+ * For fully compressible data, just zero them at init time.
+ * It's faster than repeatedly filling it.
+ */
+ if (td->o.compress_percentage == 100) {
+ td->o.zero_buffers = 1;
+ td->o.compress_percentage = 0;
+ }
+
return ret;
}