root/fs/squashfs/squashfs_fs_sb.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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

/* [<][>][^][v][top][bottom][index][help] */