wok-current diff linux-libre/stuff/005-squashfs-add-xz-compression-configuration-option.patch @ rev 15373

smx: apache 2.4 patch
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Oct 17 16:55:23 2013 +0000 (2013-10-17)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/linux-libre/stuff/005-squashfs-add-xz-compression-configuration-option.patch	Thu Oct 17 16:55:23 2013 +0000
     1.3 @@ -0,0 +1,86 @@
     1.4 +From: Phillip Lougher <phillip@lougher.demon.co.uk>
     1.5 +Date: Thu, 9 Dec 2010 02:08:31 +0000 (+0000)
     1.6 +Subject: Squashfs: Add XZ compression configuration option
     1.7 +X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fpkl%2Fsquashfs-xz.git;a=commitdiff_plain;h=e23d468968e608de27328888240de27d7582ad52
     1.8 +
     1.9 +Squashfs: Add XZ compression configuration option
    1.10 +
    1.11 +Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
    1.12 +---
    1.13 +
    1.14 +diff --git a/fs/squashfs/Kconfig b/fs/squashfs/Kconfig
    1.15 +index e5f63da..e96d99a 100644
    1.16 +--- a/fs/squashfs/Kconfig
    1.17 ++++ b/fs/squashfs/Kconfig
    1.18 +@@ -53,6 +53,22 @@ config SQUASHFS_LZO
    1.19 + 
    1.20 + 	  If unsure, say N.
    1.21 + 
    1.22 ++config SQUASHFS_XZ
    1.23 ++	bool "Include support for XZ compressed file systems"
    1.24 ++	depends on SQUASHFS
    1.25 ++	default n
    1.26 ++	select XZ_DEC
    1.27 ++	help
    1.28 ++	  Saying Y here includes support for reading Squashfs file systems
    1.29 ++	  compressed with XZ compresssion.  XZ gives better compression than
    1.30 ++	  the default zlib compression, at the expense of greater CPU and
    1.31 ++	  memory overhead.
    1.32 ++
    1.33 ++	  XZ is not the standard compression used in Squashfs and so most
    1.34 ++	  file systems will be readable without selecting this option.
    1.35 ++
    1.36 ++	  If unsure, say N.
    1.37 ++
    1.38 + config SQUASHFS_EMBEDDED
    1.39 + 	bool "Additional option for memory-constrained systems"
    1.40 + 	depends on SQUASHFS
    1.41 +diff --git a/fs/squashfs/Makefile b/fs/squashfs/Makefile
    1.42 +index 7672bac..cecf2be 100644
    1.43 +--- a/fs/squashfs/Makefile
    1.44 ++++ b/fs/squashfs/Makefile
    1.45 +@@ -7,3 +7,4 @@ squashfs-y += block.o cache.o dir.o export.o file.o fragment.o id.o inode.o
    1.46 + squashfs-y += namei.o super.o symlink.o zlib_wrapper.o decompressor.o
    1.47 + squashfs-$(CONFIG_SQUASHFS_XATTR) += xattr.o xattr_id.o
    1.48 + squashfs-$(CONFIG_SQUASHFS_LZO) += lzo_wrapper.o
    1.49 ++squashfs-$(CONFIG_SQUASHFS_XZ) += xz_wrapper.o
    1.50 +diff --git a/fs/squashfs/decompressor.c b/fs/squashfs/decompressor.c
    1.51 +index 24af9ce..ac333b8 100644
    1.52 +--- a/fs/squashfs/decompressor.c
    1.53 ++++ b/fs/squashfs/decompressor.c
    1.54 +@@ -46,6 +46,12 @@ static const struct squashfs_decompressor squashfs_lzo_unsupported_comp_ops = {
    1.55 + };
    1.56 + #endif
    1.57 + 
    1.58 ++#ifndef CONFIG_SQUASHFS_XZ
    1.59 ++static const struct squashfs_decompressor squashfs_xz_unsupported_comp_ops = {
    1.60 ++	NULL, NULL, NULL, XZ_COMPRESSION, "xz", 0
    1.61 ++};
    1.62 ++#endif
    1.63 ++
    1.64 + static const struct squashfs_decompressor squashfs_unknown_comp_ops = {
    1.65 + 	NULL, NULL, NULL, 0, "unknown", 0
    1.66 + };
    1.67 +@@ -58,6 +64,11 @@ static const struct squashfs_decompressor *decompressor[] = {
    1.68 + #else
    1.69 + 	&squashfs_lzo_unsupported_comp_ops,
    1.70 + #endif
    1.71 ++#ifdef CONFIG_SQUASHFS_XZ
    1.72 ++	&squashfs_xz_comp_ops,
    1.73 ++#else
    1.74 ++	&squashfs_xz_unsupported_comp_ops,
    1.75 ++#endif
    1.76 + 	&squashfs_unknown_comp_ops
    1.77 + };
    1.78 + 
    1.79 +diff --git a/fs/squashfs/squashfs.h b/fs/squashfs/squashfs.h
    1.80 +index 5d45569..1096e2e 100644
    1.81 +--- a/fs/squashfs/squashfs.h
    1.82 ++++ b/fs/squashfs/squashfs.h
    1.83 +@@ -107,3 +107,6 @@ extern const struct squashfs_decompressor squashfs_zlib_comp_ops;
    1.84 + 
    1.85 + /* lzo_wrapper.c */
    1.86 + extern const struct squashfs_decompressor squashfs_lzo_comp_ops;
    1.87 ++
    1.88 ++/* xz_wrapper.c */
    1.89 ++extern const struct squashfs_decompressor squashfs_xz_comp_ops;