2019-05-20 20:08:00 +03:00
/* SPDX-License-Identifier: GPL-2.0-or-later */
2009-01-05 11:46:27 +03:00
# ifndef SQUASHFS_FS_SB
# define SQUASHFS_FS_SB
/*
* Squashfs
*
* Copyright ( c ) 2002 , 2003 , 2004 , 2005 , 2006 , 2007 , 2008
2011-05-26 13:39:56 +04:00
* Phillip Lougher < phillip @ squashfs . org . uk >
2009-01-05 11:46:27 +03:00
*
* squashfs_fs_sb . h
*/
# include "squashfs_fs.h"
struct squashfs_cache {
char * name ;
int entries ;
2011-12-27 13:40:04 +04:00
int curr_blk ;
2009-01-05 11:46:27 +03:00
int next_blk ;
int num_waiters ;
int unused ;
int block_size ;
int pages ;
spinlock_t lock ;
wait_queue_head_t wait_queue ;
struct squashfs_cache_entry * entry ;
} ;
struct squashfs_cache_entry {
u64 block ;
int length ;
int refcount ;
u64 next_index ;
int pending ;
int error ;
int num_waiters ;
wait_queue_head_t wait_queue ;
struct squashfs_cache * cache ;
void * * data ;
2013-11-18 06:59:12 +04:00
struct squashfs_page_actor * actor ;
2009-01-05 11:46:27 +03:00
} ;
struct squashfs_sb_info {
2009-10-06 07:04:15 +04:00
const struct squashfs_decompressor * decompressor ;
int devblksize ;
int devblksize_log2 ;
struct squashfs_cache * block_cache ;
struct squashfs_cache * fragment_cache ;
struct squashfs_cache * read_page ;
int next_meta_index ;
__le64 * id_table ;
__le64 * fragment_index ;
2010-05-14 23:48:47 +04:00
__le64 * xattr_id_table ;
2009-10-06 07:04:15 +04:00
struct mutex meta_index_mutex ;
struct meta_index * meta_index ;
2013-11-13 06:56:26 +04:00
struct squashfs_stream * stream ;
2009-10-06 07:04:15 +04:00
__le64 * inode_lookup_table ;
u64 inode_table ;
u64 directory_table ;
2010-05-14 23:48:47 +04:00
u64 xattr_table ;
2009-10-06 07:04:15 +04:00
unsigned int block_size ;
unsigned short block_log ;
long long bytes_used ;
unsigned int inodes ;
2018-08-02 18:43:35 +03:00
unsigned int fragments ;
2010-05-14 23:48:47 +04:00
int xattr_ids ;
2009-01-05 11:46:27 +03:00
} ;
# endif