[PATCH 0/5] Squashfs Whitelist and Compression Threshold

From: Daniel Rosenberg
Date: Fri Sep 22 2017 - 17:55:41 EST


These patches contain several optimizations to Squashfs. ll_rw_block is
replaced with submit_bio. readpages is implemented to support asynchronous
readahead. Uncompressed file reads are optimized, no longer requiring the
entire block to be read if the block doesn't need to be decompressed, which
greatly improves random read speeds in uncompressed files. There is a separate
set of patches to the userspace tools adding a whitelist of files to not
compress, and an ability to set a compression threshold to avoid compressing
files where there isn't a significant advantage made by compressing.

Adrien Schildknecht (5):
Squashfs: remove the FILE_CACHE option
Squashfs: refactor page_actor
Squashfs: replace buffer_head with BIO
Squashfs: implement .readpages()
Squashfs: optimize reading uncompressed data

fs/squashfs/Kconfig | 28 ---
fs/squashfs/Makefile | 3 +-
fs/squashfs/block.c | 547 ++++++++++++++++++++++++++++++++-----------
fs/squashfs/cache.c | 73 +++---
fs/squashfs/decompressor.c | 55 +++--
fs/squashfs/file.c | 137 ++++++++---
fs/squashfs/file_cache.c | 38 ---
fs/squashfs/file_direct.c | 240 +++++++++----------
fs/squashfs/lz4_wrapper.c | 29 +--
fs/squashfs/lzo_wrapper.c | 40 +---
fs/squashfs/page_actor.c | 175 +++++++++-----
fs/squashfs/page_actor.h | 84 +++----
fs/squashfs/squashfs.h | 9 +-
fs/squashfs/squashfs_fs_sb.h | 2 +-
fs/squashfs/super.c | 7 +
fs/squashfs/xz_wrapper.c | 15 +-
fs/squashfs/zlib_wrapper.c | 14 +-
17 files changed, 876 insertions(+), 620 deletions(-)
delete mode 100644 fs/squashfs/file_cache.c

--
2.14.1.821.g8fa685d3b7-goog