Squashfs: Generalise paging handling in the decompressors
authorPhillip Lougher <phillip@squashfs.org.uk>
Mon, 18 Nov 2013 02:59:12 +0000 (02:59 +0000)
committerMohamad Ayyash <mkayyash@google.com>
Wed, 4 Mar 2015 19:22:22 +0000 (11:22 -0800)
commitdad13d68547bf13dde9a4ef7e24659e10250b7b1
tree7c6bda6b48a81b7fb958281550c7a3dadd19febc
parent887bd836dc38e36525154e7dc592e5bc5e7e322c
Squashfs: Generalise paging handling in the decompressors

Further generalise the decompressors by adding a page handler
abstraction.  This adds helpers to allow the decompressors
to access and process the output buffers in an implementation
independant manner.

This allows different types of output buffer to be passed
to the decompressors, with the implementation specific
aspects handled at decompression time, but without the
knowledge being held in the decompressor wrapper code.

This will allow the decompressors to handle Squashfs
cache buffers, and page cache pages.

This patch adds the abstraction and an implementation for
the caches.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
Reviewed-by: Minchan Kim <minchan@kernel.org>
13 files changed:
fs/squashfs/block.c
fs/squashfs/cache.c
fs/squashfs/decompressor.c
fs/squashfs/decompressor.h
fs/squashfs/decompressor_multi.c
fs/squashfs/decompressor_multi_percpu.c
fs/squashfs/decompressor_single.c
fs/squashfs/lzo_wrapper.c
fs/squashfs/page_actor.h [new file with mode: 0644]
fs/squashfs/squashfs.h
fs/squashfs/squashfs_fs_sb.h
fs/squashfs/xz_wrapper.c
fs/squashfs/zlib_wrapper.c