[RFC PATCH v0 0/4] erofs-utils: add LZMA fixed-sized output compression support
Gao Xiang
hsiangkao at aol.com
Mon Jan 18 04:45:59 AEDT 2021
From: Gao Xiang <hsiangkao at aol.com>
Hi folks,
Thanks to Lasse, liblzma finally has a preliminary usable fixed-sized
output compression support. I've made a quick integration and it seems
work. The preliminary C/R result of this is:
459382784 enwik9_4k.squashfs.xz.img
401649664 enwik9_8k.squashfs.xz.img
371617792 enwik9_4k.lzma.erofs.img
360972288 enwik9_16k.squashfs.xz.img
* Also -zlzma,1,
389115904 enwik9_4k.lzma.erofs.img
So it's worthwhile to take the further step and get an entire solution.
TODOs:
- make a formal configure.ac / Makefile.am rather than such hack;
- save DICT_SIZE to super block rather than using a fixed value;
- support threaded compression to boost up build time (including
segment compression);
- look on sorting out kernel side support.
Thanks,
Gao Xiang
Cc: Lasse Collin <lasse.collin at tukaani.org>
Gao Xiang (4):
erofs-utils: clevel set up as an individual function
erofs-utils: add liblzma dependency
erofs-utils: mkfs: add LZMA algorithm support
erofs-utils: fuse: add LZMA algorithm support
fuse/Makefile.am | 2 +-
include/erofs_fs.h | 3 +-
lib/Makefile.am | 2 +
lib/compress.c | 16 ++++---
lib/compressor.c | 23 +++++++---
lib/compressor.h | 7 ++-
lib/compressor_liblzma.c | 93 ++++++++++++++++++++++++++++++++++++++++
lib/compressor_lz4.c | 1 -
lib/compressor_lz4hc.c | 21 ++++++---
lib/data.c | 7 +--
lib/decompress.c | 62 +++++++++++++++++++++++++++
mkfs/Makefile.am | 2 +-
12 files changed, 211 insertions(+), 28 deletions(-)
create mode 100644 lib/compressor_liblzma.c
--
2.24.0
More information about the Linux-erofs
mailing list