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; |
