Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

Squashfs: Add XZ compression configuration option

parent 81bb8deb
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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
+7 −0
Original line number Diff line number Diff line
@@ -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
};

+5 −0
Original line number Diff line number Diff line
@@ -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