Commit 7a43ae52 authored by Phillip Lougher's avatar Phillip Lougher

Squashfs: Add XZ compression configuration option

Signed-off-by: default avatarPhillip Lougher <phillip@lougher.demon.co.uk>
parent 81bb8deb
......@@ -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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment