wok-tiny annotate kernel-modular/stuff/005-squashfs-add-xz-compression-configuration-option.patch @ rev 1

Add kernel
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Feb 01 09:37:33 2011 +0100 (2011-02-01)
parents
children
rev   line source
pascal@1 1 From: Phillip Lougher <phillip@lougher.demon.co.uk>
pascal@1 2 Date: Thu, 9 Dec 2010 02:08:31 +0000 (+0000)
pascal@1 3 Subject: Squashfs: Add XZ compression configuration option
pascal@1 4 X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fpkl%2Fsquashfs-xz.git;a=commitdiff_plain;h=e23d468968e608de27328888240de27d7582ad52
pascal@1 5
pascal@1 6 Squashfs: Add XZ compression configuration option
pascal@1 7
pascal@1 8 Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
pascal@1 9 ---
pascal@1 10
pascal@1 11 diff --git a/fs/squashfs/Kconfig b/fs/squashfs/Kconfig
pascal@1 12 index e5f63da..e96d99a 100644
pascal@1 13 --- a/fs/squashfs/Kconfig
pascal@1 14 +++ b/fs/squashfs/Kconfig
pascal@1 15 @@ -53,6 +53,22 @@ config SQUASHFS_LZO
pascal@1 16
pascal@1 17 If unsure, say N.
pascal@1 18
pascal@1 19 +config SQUASHFS_XZ
pascal@1 20 + bool "Include support for XZ compressed file systems"
pascal@1 21 + depends on SQUASHFS
pascal@1 22 + default n
pascal@1 23 + select XZ_DEC
pascal@1 24 + help
pascal@1 25 + Saying Y here includes support for reading Squashfs file systems
pascal@1 26 + compressed with XZ compresssion. XZ gives better compression than
pascal@1 27 + the default zlib compression, at the expense of greater CPU and
pascal@1 28 + memory overhead.
pascal@1 29 +
pascal@1 30 + XZ is not the standard compression used in Squashfs and so most
pascal@1 31 + file systems will be readable without selecting this option.
pascal@1 32 +
pascal@1 33 + If unsure, say N.
pascal@1 34 +
pascal@1 35 config SQUASHFS_EMBEDDED
pascal@1 36 bool "Additional option for memory-constrained systems"
pascal@1 37 depends on SQUASHFS
pascal@1 38 diff --git a/fs/squashfs/Makefile b/fs/squashfs/Makefile
pascal@1 39 index 7672bac..cecf2be 100644
pascal@1 40 --- a/fs/squashfs/Makefile
pascal@1 41 +++ b/fs/squashfs/Makefile
pascal@1 42 @@ -7,3 +7,4 @@ squashfs-y += block.o cache.o dir.o export.o file.o fragment.o id.o inode.o
pascal@1 43 squashfs-y += namei.o super.o symlink.o zlib_wrapper.o decompressor.o
pascal@1 44 squashfs-$(CONFIG_SQUASHFS_XATTR) += xattr.o xattr_id.o
pascal@1 45 squashfs-$(CONFIG_SQUASHFS_LZO) += lzo_wrapper.o
pascal@1 46 +squashfs-$(CONFIG_SQUASHFS_XZ) += xz_wrapper.o
pascal@1 47 diff --git a/fs/squashfs/decompressor.c b/fs/squashfs/decompressor.c
pascal@1 48 index 24af9ce..ac333b8 100644
pascal@1 49 --- a/fs/squashfs/decompressor.c
pascal@1 50 +++ b/fs/squashfs/decompressor.c
pascal@1 51 @@ -46,6 +46,12 @@ static const struct squashfs_decompressor squashfs_lzo_unsupported_comp_ops = {
pascal@1 52 };
pascal@1 53 #endif
pascal@1 54
pascal@1 55 +#ifndef CONFIG_SQUASHFS_XZ
pascal@1 56 +static const struct squashfs_decompressor squashfs_xz_unsupported_comp_ops = {
pascal@1 57 + NULL, NULL, NULL, XZ_COMPRESSION, "xz", 0
pascal@1 58 +};
pascal@1 59 +#endif
pascal@1 60 +
pascal@1 61 static const struct squashfs_decompressor squashfs_unknown_comp_ops = {
pascal@1 62 NULL, NULL, NULL, 0, "unknown", 0
pascal@1 63 };
pascal@1 64 @@ -58,6 +64,11 @@ static const struct squashfs_decompressor *decompressor[] = {
pascal@1 65 #else
pascal@1 66 &squashfs_lzo_unsupported_comp_ops,
pascal@1 67 #endif
pascal@1 68 +#ifdef CONFIG_SQUASHFS_XZ
pascal@1 69 + &squashfs_xz_comp_ops,
pascal@1 70 +#else
pascal@1 71 + &squashfs_xz_unsupported_comp_ops,
pascal@1 72 +#endif
pascal@1 73 &squashfs_unknown_comp_ops
pascal@1 74 };
pascal@1 75
pascal@1 76 diff --git a/fs/squashfs/squashfs.h b/fs/squashfs/squashfs.h
pascal@1 77 index 5d45569..1096e2e 100644
pascal@1 78 --- a/fs/squashfs/squashfs.h
pascal@1 79 +++ b/fs/squashfs/squashfs.h
pascal@1 80 @@ -107,3 +107,6 @@ extern const struct squashfs_decompressor squashfs_zlib_comp_ops;
pascal@1 81
pascal@1 82 /* lzo_wrapper.c */
pascal@1 83 extern const struct squashfs_decompressor squashfs_lzo_comp_ops;
pascal@1 84 +
pascal@1 85 +/* xz_wrapper.c */
pascal@1 86 +extern const struct squashfs_decompressor squashfs_xz_comp_ops;