X-Git-Url: http://git.onelab.eu/?p=linux-2.6.git;a=blobdiff_plain;f=include%2Flinux%2Fsquashfs_fs_sb.h;h=6b35e64d0b3aa45c0465c7c794d3b5dddb901949;hp=615a8cee2ed6672b5ebc1f24f76c49692cd47706;hb=16c70f8c1b54b61c3b951b6fb220df250fe09b32;hpb=4e76c8a9fa413ccc09d3f7f664183dcce3555d57 diff --git a/include/linux/squashfs_fs_sb.h b/include/linux/squashfs_fs_sb.h index 615a8cee2..6b35e64d0 100644 --- a/include/linux/squashfs_fs_sb.h +++ b/include/linux/squashfs_fs_sb.h @@ -3,7 +3,8 @@ /* * Squashfs * - * Copyright (c) 2002, 2003, 2004, 2005 Phillip Lougher + * Copyright (c) 2002, 2003, 2004, 2005, 2006 + * Phillip Lougher * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -24,42 +25,51 @@ #include -typedef struct { - unsigned int block; +struct squashfs_cache { + long long block; int length; - unsigned int next_index; + long long next_index; char *data; - } squashfs_cache; +}; struct squashfs_fragment_cache { - unsigned int block; + long long block; int length; unsigned int locked; char *data; - }; +}; -typedef struct squashfs_sb_info { - squashfs_super_block sBlk; +struct squashfs_sb_info { + struct squashfs_super_block sblk; int devblksize; int devblksize_log2; int swap; - squashfs_cache *block_cache; + struct squashfs_cache *block_cache; struct squashfs_fragment_cache *fragment; int next_cache; int next_fragment; - squashfs_uid *uid; - squashfs_uid *guid; - squashfs_fragment_index *fragment_index; + int next_meta_index; + unsigned int *uid; + unsigned int *guid; + long long *fragment_index; + unsigned int *fragment_index_2; unsigned int read_size; char *read_data; char *read_page; + struct semaphore read_data_mutex; struct semaphore read_page_mutex; struct semaphore block_cache_mutex; struct semaphore fragment_mutex; + struct semaphore meta_index_mutex; wait_queue_head_t waitq; wait_queue_head_t fragment_wait_queue; - struct inode *(*iget)(struct super_block *s, squashfs_inode inode); - unsigned int (*read_blocklist)(struct inode *inode, int index, int readahead_blks, - char *block_list, unsigned short **block_p, unsigned int *bsize); - } squashfs_sb_info; + struct meta_index *meta_index; + z_stream stream; + struct inode *(*iget)(struct super_block *s, squashfs_inode_t \ + inode); + long long (*read_blocklist)(struct inode *inode, int \ + index, int readahead_blks, char *block_list, \ + unsigned short **block_p, unsigned int *bsize); + int (*read_fragment_index_table)(struct super_block *s); +}; #endif