This patch series provides a generic device-mapper inplace compression device. Originally written by Shaohua Li. https://www.redhat.com/archives/dm-devel/2013-December/msg00143.html I have optimized the code and used it as a compressed swap device supporting exterme levels of swap traffic using a NVMe device as a backend. Comments from Alasdair have been incorporated. https://www.redhat.com/archives/dm-devel/2013-December/msg00144.html Testing: This patch is tested thoroughly as a swap device on Power machine only. More testing is needed before it can be used as a generic compression device. Your comments to improve the code is very much appreciated. Ram Pai (15): DM: Ability to choose the compressor. DM: Error if enough space is not available. DM: Ensure that the read request is within the device range. DM: allocation/free helper routines. DM: separate out compression and decompression routines. DM: Optimize memory allocated to hold compressed buffer. DM: Tag a magicmarker at the end of each compressed segment. DM: Delay allocation of decompression buffer during read. DM: Try to use the bio buffer for decompression instead of allocating one. DM: Try to avoid temporary buffer allocation to hold compressed data. DM: release unneeded buffer as soon as possible. DM: macros to set and get the state of the request. DM: Wasted bio copy. DM: Add sysfs parameters to track total memory saved and allocated. DM: add documentation for dm-inplace-compress. Shaohua Li (1): DM: dm-inplace-compress: a compressed DM target for SSD .../device-mapper/dm-inplace-compress.text | 138 ++ drivers/md/Kconfig | 6 + drivers/md/Makefile | 1 + drivers/md/dm-inplace-compress.c | 1792 ++++++++++++++++++++ drivers/md/dm-inplace-compress.h | 162 ++ 5 files changed, 2099 insertions(+) create mode 100644 Documentation/device-mapper/dm-inplace-compress.text create mode 100644 drivers/md/dm-inplace-compress.c create mode 100644 drivers/md/dm-inplace-compress.h -- 1.8.3.1 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel