• Gao Xiang's avatar
    erofs: lzma compression support · 622ceadd
    Gao Xiang authored
    Add MicroLZMA support in order to maximize compression ratios for
    specific scenarios. For example, it's useful for low-end embedded
    boards and as a secondary algorithm in a file for specific access
    patterns.
    
    MicroLZMA is a new container format for raw LZMA1, which was created
    by Lasse Collin aiming to minimize old LZMA headers and get rid of
    unnecessary EOPM (end of payload marker) as well as to enable
    fixed-sized output compression, especially for 4KiB pclusters.
    
    Similar to LZ4, inplace I/O approach is used to minimize runtime
    memory footprint when dealing with I/O. Overlapped decompression is
    handled with 1) bounced buffer for data under processing or 2) extra
    short-lived pages from the on-stack pagepool which will be shared in
    the same read request (128KiB for example).
    
    Link: https://lore.kernel.org/r/20211010213145.17462-8-xiang@kernel.orgAcked-by: default avatarChao Yu <chao@kernel.org>
    Signed-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
    622ceadd
zmap.c 19.4 KB