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. Sergey Senozhatsky (7): zram: rename zstrm find-release functions zram: switch to crypto compress API zram: drop zcomp param from compress/decompress zram: align zcomp interface to crypto comp API zram: use crypto api to check alg availability zram: delete custom lzo/lz4 zram: add more compression algorithms drivers/block/zram/Kconfig | 15 +------ drivers/block/zram/Makefile | 4 +- drivers/block/zram/zcomp.c | 91 +++++++++++++++++++++++++++--------------- drivers/block/zram/zcomp.h | 29 ++++---------- 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 | 26 +++++++----- 9 files changed, 84 insertions(+), 227 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