aboutsummaryrefslogtreecommitdiffstats
path: root/fs/squashfs/squashfs_fs_sb.h
diff options
context:
space:
mode:
authorPhillip Lougher <phillip@lougher.demon.co.uk>2009-10-05 23:04:15 -0400
committerPhillip Lougher <phillip@lougher.demon.co.uk>2010-01-20 16:47:47 -0500
commit4c0f0bb2351bee3de8dd7715ee199454a59f1230 (patch)
treec552993587a8e87f7ebc0fe0955efdde94cc8884 /fs/squashfs/squashfs_fs_sb.h
parentf1a40359f8d8ba073257ed31a513e492621bcbc5 (diff)
Squashfs: add a decompressor framework
This adds a decompressor framework which allows multiple compression algorithms to be cleanly supported. Also update zlib wrapper and other code to use the new framework. Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
Diffstat (limited to 'fs/squashfs/squashfs_fs_sb.h')
-rw-r--r--fs/squashfs/squashfs_fs_sb.h41
1 files changed, 21 insertions, 20 deletions
diff --git a/fs/squashfs/squashfs_fs_sb.h b/fs/squashfs/squashfs_fs_sb.h
index 23a67fa40b03..753335085e41 100644
--- a/fs/squashfs/squashfs_fs_sb.h
+++ b/fs/squashfs/squashfs_fs_sb.h
@@ -52,25 +52,26 @@ struct squashfs_cache_entry {
52}; 52};
53 53
54struct squashfs_sb_info { 54struct squashfs_sb_info {
55 int devblksize; 55 const struct squashfs_decompressor *decompressor;
56 int devblksize_log2; 56 int devblksize;
57 struct squashfs_cache *block_cache; 57 int devblksize_log2;
58 struct squashfs_cache *fragment_cache; 58 struct squashfs_cache *block_cache;
59 struct squashfs_cache *read_page; 59 struct squashfs_cache *fragment_cache;
60 int next_meta_index; 60 struct squashfs_cache *read_page;
61 __le64 *id_table; 61 int next_meta_index;
62 __le64 *fragment_index; 62 __le64 *id_table;
63 unsigned int *fragment_index_2; 63 __le64 *fragment_index;
64 struct mutex read_data_mutex; 64 unsigned int *fragment_index_2;
65 struct mutex meta_index_mutex; 65 struct mutex read_data_mutex;
66 struct meta_index *meta_index; 66 struct mutex meta_index_mutex;
67 void *stream; 67 struct meta_index *meta_index;
68 __le64 *inode_lookup_table; 68 void *stream;
69 u64 inode_table; 69 __le64 *inode_lookup_table;
70 u64 directory_table; 70 u64 inode_table;
71 unsigned int block_size; 71 u64 directory_table;
72 unsigned short block_log; 72 unsigned int block_size;
73 long long bytes_used; 73 unsigned short block_log;
74 unsigned int inodes; 74 long long bytes_used;
75 unsigned int inodes;
75}; 76};
76#endif 77#endif