[PATCH v2 0/8] zram: switch to crypto api

From: Sergey Senozhatsky
Date: Tue May 31 2016 - 08:20:30 EST


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.

-- 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