Squashfs: extend decompressor framework to handle compression options
Extend decompressor framework to handle compression options stored in the filesystem. These options can be used by the relevant decompressor at initialisation time to over-ride defaults. The presence of compression options in the filesystem is indicated by the COMP_OPT filesystem flag. If present the data is read from the filesystem and passed to the decompressor init function. The decompressor init function signature has been extended to take this data. Also update the init function signature in the glib, lzo and xz decompressor wrappers. Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
This commit is contained in:
@@ -38,7 +38,8 @@ struct squashfs_xz {
|
||||
struct xz_buf buf;
|
||||
};
|
||||
|
||||
static void *squashfs_xz_init(struct squashfs_sb_info *msblk)
|
||||
static void *squashfs_xz_init(struct squashfs_sb_info *msblk, void *buff,
|
||||
int len)
|
||||
{
|
||||
int block_size = max_t(int, msblk->block_size, SQUASHFS_METADATA_SIZE);
|
||||
|
||||
@@ -55,7 +56,7 @@ static void *squashfs_xz_init(struct squashfs_sb_info *msblk)
|
||||
failed:
|
||||
ERROR("Failed to allocate xz workspace\n");
|
||||
kfree(stream);
|
||||
return NULL;
|
||||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user