Root/target/linux/generic/patches-2.6.32/004-squashfs_add_decompressor_lzma_lzo.patch

1From 1885ca0a1973944684f252094a703b7c80dfc974 Mon Sep 17 00:00:00 2001
2From: Phillip Lougher <phillip@lougher.demon.co.uk>
3Date: Wed, 14 Oct 2009 03:58:11 +0100
4Subject: [PATCH] Squashfs: add decompressor entries for lzma and lzo
5
6Add knowledge of lzma/lzo compression formats to the decompressor
7framework. For now these are added as unsupported. Without
8these entries lzma/lzo compressed filesystems will be flagged as
9having unknown compression which is undesirable.
10
11Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
12---
13 fs/squashfs/decompressor.c | 10 ++++++++++
14 fs/squashfs/squashfs_fs.h | 4 +++-
15 2 files changed, 13 insertions(+), 1 deletions(-)
16
17--- a/fs/squashfs/decompressor.c
18+++ b/fs/squashfs/decompressor.c
19@@ -36,12 +36,22 @@
20  * Squashfs, allowing multiple decompressors to be easily supported
21  */
22 
23+static const struct squashfs_decompressor squashfs_lzma_unsupported_comp_ops = {
24+ NULL, NULL, NULL, LZMA_COMPRESSION, "lzma", 0
25+};
26+
27+static const struct squashfs_decompressor squashfs_lzo_unsupported_comp_ops = {
28+ NULL, NULL, NULL, LZO_COMPRESSION, "lzo", 0
29+};
30+
31 static const struct squashfs_decompressor squashfs_unknown_comp_ops = {
32     NULL, NULL, NULL, 0, "unknown", 0
33 };
34 
35 static const struct squashfs_decompressor *decompressor[] = {
36     &squashfs_zlib_comp_ops,
37+ &squashfs_lzma_unsupported_comp_ops,
38+ &squashfs_lzo_unsupported_comp_ops,
39     &squashfs_unknown_comp_ops
40 };
41 
42--- a/fs/squashfs/squashfs_fs.h
43+++ b/fs/squashfs/squashfs_fs.h
44@@ -211,7 +211,9 @@ struct meta_index {
45 /*
46  * definitions for structures on disk
47  */
48-#define ZLIB_COMPRESSION 1
49+#define ZLIB_COMPRESSION 1
50+#define LZMA_COMPRESSION 2
51+#define LZO_COMPRESSION 3
52 
53 struct squashfs_super_block {
54     __le32 s_magic;
55

Archive Download this file



interactive