]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - fs/squashfs/squashfs_fs_sb.h
Merge branch 'asoc-5.4' into asoc-linus
[mirror_ubuntu-jammy-kernel.git] / fs / squashfs / squashfs_fs_sb.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 #ifndef SQUASHFS_FS_SB
3 #define SQUASHFS_FS_SB
4 /*
5 * Squashfs
6 *
7 * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008
8 * Phillip Lougher <phillip@squashfs.org.uk>
9 *
10 * squashfs_fs_sb.h
11 */
12
13 #include "squashfs_fs.h"
14
15 struct squashfs_cache {
16 char *name;
17 int entries;
18 int curr_blk;
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;
40 struct squashfs_page_actor *actor;
41 };
42
43 struct squashfs_sb_info {
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;
53 __le64 *xattr_id_table;
54 struct mutex meta_index_mutex;
55 struct meta_index *meta_index;
56 struct squashfs_stream *stream;
57 __le64 *inode_lookup_table;
58 u64 inode_table;
59 u64 directory_table;
60 u64 xattr_table;
61 unsigned int block_size;
62 unsigned short block_log;
63 long long bytes_used;
64 unsigned int inodes;
65 unsigned int fragments;
66 int xattr_ids;
67 };
68 #endif