Squashfs: Add XZ compression configuration option
Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
This commit is contained in:
parent
81bb8debd0
commit
7a43ae5237
|
@ -53,6 +53,21 @@ config SQUASHFS_LZO
|
|||
|
||||
If unsure, say N.
|
||||
|
||||
config SQUASHFS_XZ
|
||||
bool "Include support for XZ compressed file systems"
|
||||
depends on SQUASHFS
|
||||
select XZ_DEC
|
||||
help
|
||||
Saying Y here includes support for reading Squashfs file systems
|
||||
compressed with XZ compresssion. XZ gives better compression than
|
||||
the default zlib compression, at the expense of greater CPU and
|
||||
memory overhead.
|
||||
|
||||
XZ is not the standard compression used in Squashfs and so most
|
||||
file systems will be readable without selecting this option.
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
config SQUASHFS_EMBEDDED
|
||||
bool "Additional option for memory-constrained systems"
|
||||
depends on SQUASHFS
|
||||
|
|
|
@ -7,3 +7,4 @@ squashfs-y += block.o cache.o dir.o export.o file.o fragment.o id.o inode.o
|
|||
squashfs-y += namei.o super.o symlink.o zlib_wrapper.o decompressor.o
|
||||
squashfs-$(CONFIG_SQUASHFS_XATTR) += xattr.o xattr_id.o
|
||||
squashfs-$(CONFIG_SQUASHFS_LZO) += lzo_wrapper.o
|
||||
squashfs-$(CONFIG_SQUASHFS_XZ) += xz_wrapper.o
|
||||
|
|
|
@ -46,6 +46,12 @@ static const struct squashfs_decompressor squashfs_lzo_unsupported_comp_ops = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_SQUASHFS_XZ
|
||||
static const struct squashfs_decompressor squashfs_xz_comp_ops = {
|
||||
NULL, NULL, NULL, XZ_COMPRESSION, "xz", 0
|
||||
};
|
||||
#endif
|
||||
|
||||
static const struct squashfs_decompressor squashfs_unknown_comp_ops = {
|
||||
NULL, NULL, NULL, 0, "unknown", 0
|
||||
};
|
||||
|
@ -58,6 +64,7 @@ static const struct squashfs_decompressor *decompressor[] = {
|
|||
#else
|
||||
&squashfs_lzo_unsupported_comp_ops,
|
||||
#endif
|
||||
&squashfs_xz_comp_ops,
|
||||
&squashfs_unknown_comp_ops
|
||||
};
|
||||
|
||||
|
|
|
@ -52,4 +52,9 @@ static inline int squashfs_decompress(struct squashfs_sb_info *msblk,
|
|||
return msblk->decompressor->decompress(msblk, buffer, bh, b, offset,
|
||||
length, srclength, pages);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SQUASHFS_XZ
|
||||
extern const struct squashfs_decompressor squashfs_xz_comp_ops;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue