diff options
author | Phillip Lougher <phillip@lougher.demon.co.uk> | 2009-10-13 22:58:11 -0400 |
---|---|---|
committer | Phillip Lougher <phillip@lougher.demon.co.uk> | 2010-01-20 16:47:48 -0500 |
commit | dc3256782f88602953676c447b243dedb1be99ad (patch) | |
tree | db94f1e5aa06f8260631a5a21bea332c1b6e14c8 | |
parent | 4c0f0bb2351bee3de8dd7715ee199454a59f1230 (diff) |
Squashfs: add decompressor entries for lzma and lzo
Add knowledge of lzma/lzo compression formats to the decompressor
framework. For now these are added as unsupported. Without
these entries lzma/lzo compressed filesystems will be flagged as
having unknown compression which is undesirable.
Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
-rw-r--r-- | fs/squashfs/decompressor.c | 10 | ||||
-rw-r--r-- | fs/squashfs/squashfs_fs.h | 4 |
2 files changed, 13 insertions, 1 deletions
diff --git a/fs/squashfs/decompressor.c b/fs/squashfs/decompressor.c index 0072ccdac1e2..157478da6ac9 100644 --- a/fs/squashfs/decompressor.c +++ b/fs/squashfs/decompressor.c | |||
@@ -36,12 +36,22 @@ | |||
36 | * Squashfs, allowing multiple decompressors to be easily supported | 36 | * Squashfs, allowing multiple decompressors to be easily supported |
37 | */ | 37 | */ |
38 | 38 | ||
39 | static const struct squashfs_decompressor squashfs_lzma_unsupported_comp_ops = { | ||
40 | NULL, NULL, NULL, LZMA_COMPRESSION, "lzma", 0 | ||
41 | }; | ||
42 | |||
43 | static const struct squashfs_decompressor squashfs_lzo_unsupported_comp_ops = { | ||
44 | NULL, NULL, NULL, LZO_COMPRESSION, "lzo", 0 | ||
45 | }; | ||
46 | |||
39 | static const struct squashfs_decompressor squashfs_unknown_comp_ops = { | 47 | static const struct squashfs_decompressor squashfs_unknown_comp_ops = { |
40 | NULL, NULL, NULL, 0, "unknown", 0 | 48 | NULL, NULL, NULL, 0, "unknown", 0 |
41 | }; | 49 | }; |
42 | 50 | ||
43 | static const struct squashfs_decompressor *decompressor[] = { | 51 | static const struct squashfs_decompressor *decompressor[] = { |
44 | &squashfs_zlib_comp_ops, | 52 | &squashfs_zlib_comp_ops, |
53 | &squashfs_lzma_unsupported_comp_ops, | ||
54 | &squashfs_lzo_unsupported_comp_ops, | ||
45 | &squashfs_unknown_comp_ops | 55 | &squashfs_unknown_comp_ops |
46 | }; | 56 | }; |
47 | 57 | ||
diff --git a/fs/squashfs/squashfs_fs.h b/fs/squashfs/squashfs_fs.h index 283daafc568e..36e1604ab1c1 100644 --- a/fs/squashfs/squashfs_fs.h +++ b/fs/squashfs/squashfs_fs.h | |||
@@ -211,7 +211,9 @@ struct meta_index { | |||
211 | /* | 211 | /* |
212 | * definitions for structures on disk | 212 | * definitions for structures on disk |
213 | */ | 213 | */ |
214 | #define ZLIB_COMPRESSION 1 | 214 | #define ZLIB_COMPRESSION 1 |
215 | #define LZMA_COMPRESSION 2 | ||
216 | #define LZO_COMPRESSION 3 | ||
215 | 217 | ||
216 | struct squashfs_super_block { | 218 | struct squashfs_super_block { |
217 | __le32 s_magic; | 219 | __le32 s_magic; |