1 /*
2  *  linux/include/linux/ext3_fs_sb.h
3  *
4  * Copyright (C) 1992, 1993, 1994, 1995
5  * Remy Card (card@masi.ibp.fr)
6  * Laboratoire MASI - Institut Blaise Pascal
7  * Universite Pierre et Marie Curie (Paris VI)
8  *
9  *  from
10  *
11  *  linux/include/linux/minix_fs_sb.h
12  *
13  *  Copyright (C) 1991, 1992  Linus Torvalds
14  */
15 
16 #ifndef _LINUX_EXT3_FS_SB
17 #define _LINUX_EXT3_FS_SB
18 
19 #include <linux/types.h>
20 #include <linux/rbtree.h>
21 
22 /*
23  * third extended-fs super-block data in memory
24  */
25 
26 struct ext3_gd {
27     ext3_fsblk_t            block;
28     struct ext4_group_desc *gd;
29     struct buffer_head     *bh;
30 };
31 
32 struct ext3_sb_info {
33 
34     ERESOURCE           s_gd_lock;
35     struct ext3_gd     *s_gd;
36 
37     unsigned long s_desc_size;      /* size of group desc */
38     unsigned long s_gdb_count;	/* Number of group descriptor blocks */
39     unsigned long s_desc_per_block;	/* Number of group descriptors per block */
40     unsigned long s_inodes_per_group;/* Number of inodes in a group */
41     unsigned long s_inodes_per_block;/* Number of inodes per block */
42     unsigned long s_blocks_per_group;/* Number of blocks in a group */
43     unsigned long s_groups_count;	/* Number of groups in the fs */
44     unsigned long s_itb_per_group;	/* Number of inode table blocks per group */
45 
46     int s_addr_per_block_bits;
47     int s_desc_per_block_bits;
48 
49 
50 #if 0
51     unsigned long s_frag_size;	/* Size of a fragment in bytes */
52     unsigned long s_frags_per_block;/* Number of fragments per block */
53     unsigned long s_frags_per_group;/* Number of fragments in a group */
54     unsigned long s_inodes_per_group;/* Number of inodes in a group */
55     unsigned long s_itb_per_group;	/* Number of inode table blocks per group */
56     unsigned long s_desc_per_block;	/* Number of group descriptors per block */
57     unsigned long s_overhead_last;  /* Last calculated overhead */
58     unsigned long s_blocks_last;    /* Last seen block count */
59 #endif
60 
61     struct ext3_super_block * s_es;	/* Pointer to the super block in the buffer */
62 
63     __le32 s_first_ino;
64 
65     u32 s_hash_seed[4];
66     int s_def_hash_version;
67 };
68 
69 int ext3_release_dir (struct inode * inode, struct file * filp);
70 
71 #endif	/* _LINUX_EXT3_FS_SB */
72