Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
422 | giacomo | 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 | #ifdef __KERNEL__ |
||
20 | #include <linux/timer.h> |
||
21 | #include <linux/wait.h> |
||
22 | #include <linux/blockgroup_lock.h> |
||
23 | #include <linux/percpu_counter.h> |
||
24 | #endif |
||
25 | |||
26 | /* |
||
27 | * third extended-fs super-block data in memory |
||
28 | */ |
||
29 | struct ext3_sb_info { |
||
30 | unsigned long s_frag_size; /* Size of a fragment in bytes */ |
||
31 | unsigned long s_frags_per_block;/* Number of fragments per block */ |
||
32 | unsigned long s_inodes_per_block;/* Number of inodes per block */ |
||
33 | unsigned long s_frags_per_group;/* Number of fragments in a group */ |
||
34 | unsigned long s_blocks_per_group;/* Number of blocks in a group */ |
||
35 | unsigned long s_inodes_per_group;/* Number of inodes in a group */ |
||
36 | unsigned long s_itb_per_group; /* Number of inode table blocks per group */ |
||
37 | unsigned long s_gdb_count; /* Number of group descriptor blocks */ |
||
38 | unsigned long s_desc_per_block; /* Number of group descriptors per block */ |
||
39 | unsigned long s_groups_count; /* Number of groups in the fs */ |
||
40 | struct buffer_head * s_sbh; /* Buffer containing the super block */ |
||
41 | struct ext3_super_block * s_es; /* Pointer to the super block in the buffer */ |
||
42 | struct buffer_head ** s_group_desc; |
||
43 | unsigned long s_mount_opt; |
||
44 | uid_t s_resuid; |
||
45 | gid_t s_resgid; |
||
46 | unsigned short s_mount_state; |
||
47 | unsigned short s_pad; |
||
48 | int s_addr_per_block_bits; |
||
49 | int s_desc_per_block_bits; |
||
50 | int s_inode_size; |
||
51 | int s_first_ino; |
||
52 | u32 s_next_generation; |
||
53 | u32 s_hash_seed[4]; |
||
54 | int s_def_hash_version; |
||
55 | u8 *s_debts; |
||
56 | struct percpu_counter s_freeblocks_counter; |
||
57 | struct percpu_counter s_freeinodes_counter; |
||
58 | struct percpu_counter s_dirs_counter; |
||
59 | struct blockgroup_lock s_blockgroup_lock; |
||
60 | |||
61 | /* Journaling */ |
||
62 | struct inode * s_journal_inode; |
||
63 | struct journal_s * s_journal; |
||
64 | struct list_head s_orphan; |
||
65 | unsigned long s_commit_interval; |
||
66 | struct block_device *journal_bdev; |
||
67 | #ifdef CONFIG_JBD_DEBUG |
||
68 | struct timer_list turn_ro_timer; /* For turning read-only (crash simulation) */ |
||
69 | wait_queue_head_t ro_wait_queue; /* For people waiting for the fs to go read-only */ |
||
70 | #endif |
||
71 | }; |
||
72 | |||
73 | #endif /* _LINUX_EXT3_FS_SB */ |