Commit | Line | Data |
---|---|---|
68252eb5 | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
ffae2cd7 PL |
2 | #ifndef SQUASHFS_FS_SB |
3 | #define SQUASHFS_FS_SB | |
4 | /* | |
5 | * Squashfs | |
6 | * | |
7 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | |
d7f2ff67 | 8 | * Phillip Lougher <phillip@squashfs.org.uk> |
ffae2cd7 | 9 | * |
ffae2cd7 PL |
10 | * squashfs_fs_sb.h |
11 | */ | |
12 | ||
13 | #include "squashfs_fs.h" | |
14 | ||
15 | struct squashfs_cache { | |
16 | char *name; | |
17 | int entries; | |
d7fbd893 | 18 | int curr_blk; |
ffae2cd7 PL |
19 | int next_blk; |
20 | int num_waiters; | |
21 | int unused; | |
22 | int block_size; | |
23 | int pages; | |
24 | spinlock_t lock; | |
25 | wait_queue_head_t wait_queue; | |
26 | struct squashfs_cache_entry *entry; | |
27 | }; | |
28 | ||
29 | struct squashfs_cache_entry { | |
30 | u64 block; | |
31 | int length; | |
32 | int refcount; | |
33 | u64 next_index; | |
34 | int pending; | |
35 | int error; | |
36 | int num_waiters; | |
37 | wait_queue_head_t wait_queue; | |
38 | struct squashfs_cache *cache; | |
39 | void **data; | |
846b730e | 40 | struct squashfs_page_actor *actor; |
ffae2cd7 PL |
41 | }; |
42 | ||
43 | struct squashfs_sb_info { | |
4c0f0bb2 PL |
44 | const struct squashfs_decompressor *decompressor; |
45 | int devblksize; | |
46 | int devblksize_log2; | |
47 | struct squashfs_cache *block_cache; | |
48 | struct squashfs_cache *fragment_cache; | |
49 | struct squashfs_cache *read_page; | |
50 | int next_meta_index; | |
51 | __le64 *id_table; | |
52 | __le64 *fragment_index; | |
4b5397dc | 53 | __le64 *xattr_id_table; |
4c0f0bb2 PL |
54 | struct mutex meta_index_mutex; |
55 | struct meta_index *meta_index; | |
80f78409 | 56 | void *stream; |
4c0f0bb2 PL |
57 | __le64 *inode_lookup_table; |
58 | u64 inode_table; | |
59 | u64 directory_table; | |
4b5397dc | 60 | u64 xattr_table; |
4c0f0bb2 PL |
61 | unsigned int block_size; |
62 | unsigned short block_log; | |
63 | long long bytes_used; | |
64 | unsigned int inodes; | |
71755ee5 | 65 | unsigned int fragments; |
4b5397dc | 66 | int xattr_ids; |
f37aa4c7 | 67 | unsigned int ids; |
10dde05b | 68 | bool panic_on_errors; |
80f78409 | 69 | const struct squashfs_decompressor_thread_ops *thread_ops; |
ffae2cd7 PL |
70 | }; |
71 | #endif |