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.
|
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
|
config SQUASHFS_EMBEDDED
|
||||||
bool "Additional option for memory-constrained systems"
|
bool "Additional option for memory-constrained systems"
|
||||||
depends on SQUASHFS
|
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-y += namei.o super.o symlink.o zlib_wrapper.o decompressor.o
|
||||||
squashfs-$(CONFIG_SQUASHFS_XATTR) += xattr.o xattr_id.o
|
squashfs-$(CONFIG_SQUASHFS_XATTR) += xattr.o xattr_id.o
|
||||||
squashfs-$(CONFIG_SQUASHFS_LZO) += lzo_wrapper.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
|
#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 = {
|
static const struct squashfs_decompressor squashfs_unknown_comp_ops = {
|
||||||
NULL, NULL, NULL, 0, "unknown", 0
|
NULL, NULL, NULL, 0, "unknown", 0
|
||||||
};
|
};
|
||||||
|
@ -58,6 +64,7 @@ static const struct squashfs_decompressor *decompressor[] = {
|
||||||
#else
|
#else
|
||||||
&squashfs_lzo_unsupported_comp_ops,
|
&squashfs_lzo_unsupported_comp_ops,
|
||||||
#endif
|
#endif
|
||||||
|
&squashfs_xz_comp_ops,
|
||||||
&squashfs_unknown_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,
|
return msblk->decompressor->decompress(msblk, buffer, bh, b, offset,
|
||||||
length, srclength, pages);
|
length, srclength, pages);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_SQUASHFS_XZ
|
||||||
|
extern const struct squashfs_decompressor squashfs_xz_comp_ops;
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue