Hello, This has started as a 'add zlib support' work, but after some thinking I saw no blockers for a bigger change -- a switch to crypto API.
We don't have an idle zstreams list anymore and our write path now works absolutely differently, preventing preemption during compression. This removes possibilities of read paths preempting writes at wrong places and opens the door for a move from custom LZO/LZ4 compression backends implementation to a more generic one, using crypto compress API. This patch set also eliminates the need of a new context-less crypto API interface, which was quite hard to sell, so we can move along faster. v2: -- addressed Minchan's review points -- allow out-of-tree comp algorithms, per Minchan -- some other cleanups, reworks and improvements Sergey Senozhatsky (8): zram: rename zstrm find-release functions zram: switch to crypto compress API zram: align zcomp interface to crypto comp API zram: use crypto api to check alg availability zram: cosmetic: cleanup documentation zram: delete custom lzo/lz4 zram: add more compression algorithms zram: drop gfp_t from zcomp_strm_alloc() Documentation/blockdev/zram.txt | 82 +++++++++++++---------- drivers/block/zram/Kconfig | 15 +---- drivers/block/zram/Makefile | 4 +- drivers/block/zram/zcomp.c | 143 ++++++++++++++++++++++++---------------- drivers/block/zram/zcomp.h | 36 +++------- drivers/block/zram/zcomp_lz4.c | 56 ---------------- drivers/block/zram/zcomp_lz4.h | 17 ----- drivers/block/zram/zcomp_lzo.c | 56 ---------------- drivers/block/zram/zcomp_lzo.h | 17 ----- drivers/block/zram/zram_drv.c | 42 +++++++----- drivers/block/zram/zram_drv.h | 5 +- 11 files changed, 171 insertions(+), 302 deletions(-) delete mode 100644 drivers/block/zram/zcomp_lz4.c delete mode 100644 drivers/block/zram/zcomp_lz4.h delete mode 100644 drivers/block/zram/zcomp_lzo.c delete mode 100644 drivers/block/zram/zcomp_lzo.h -- 2.8.3.394.g3916adf