#include "compress.h"
#include <linux/lz4.h>
#ifndef LZ4_DISTANCE_MAX
#define LZ4_DISTANCE_MAX …
#endif
#define LZ4_MAX_DISTANCE_PAGES …
#ifndef LZ4_DECOMPRESS_INPLACE_MARGIN
#define LZ4_DECOMPRESS_INPLACE_MARGIN(srcsize) …
#endif
struct z_erofs_lz4_decompress_ctx { … };
static int z_erofs_load_lz4_config(struct super_block *sb,
struct erofs_super_block *dsb, void *data, int size)
{ … }
static int z_erofs_lz4_prepare_dstpages(struct z_erofs_lz4_decompress_ctx *ctx,
struct page **pagepool)
{ … }
static void *z_erofs_lz4_handle_overlap(struct z_erofs_lz4_decompress_ctx *ctx,
void *inpage, void *out, unsigned int *inputmargin,
int *maptype, bool may_inplace)
{ … }
int z_erofs_fixup_insize(struct z_erofs_decompress_req *rq, const char *padbuf,
unsigned int padbufsize)
{ … }
static int z_erofs_lz4_decompress_mem(struct z_erofs_lz4_decompress_ctx *ctx,
u8 *dst)
{ … }
static int z_erofs_lz4_decompress(struct z_erofs_decompress_req *rq,
struct page **pagepool)
{ … }
static int z_erofs_transform_plain(struct z_erofs_decompress_req *rq,
struct page **pagepool)
{ … }
int z_erofs_stream_switch_bufs(struct z_erofs_stream_dctx *dctx, void **dst,
void **src, struct page **pgpl)
{ … }
const struct z_erofs_decompressor *z_erofs_decomp[] = …;
int z_erofs_parse_cfgs(struct super_block *sb, struct erofs_super_block *dsb)
{ … }
int __init z_erofs_init_decompressor(void)
{ … }
void z_erofs_exit_decompressor(void)
{ … }