Contents of /trunk/mkinitrd-magellan/klibc/usr/kinit/fstype/reiserfs_fs.h
Parent Directory | Revision Log
Revision 815 -
(show annotations)
(download)
Fri Apr 24 18:32:46 2009 UTC (15 years ago) by niro
File MIME type: text/plain
File size: 3075 byte(s)
Fri Apr 24 18:32:46 2009 UTC (15 years ago) by niro
File MIME type: text/plain
File size: 3075 byte(s)
-updated to klibc-1.5.15
1 | #ifndef __REISERFS_FS_H |
2 | #define __REISERFS_FS_H |
3 | |
4 | struct journal_params { |
5 | __u32 jp_journal_1st_block; /* where does journal start from on its |
6 | * device */ |
7 | __u32 jp_journal_dev; /* journal device st_rdev */ |
8 | __u32 jp_journal_size; /* size of the journal */ |
9 | __u32 jp_journal_trans_max; /* max number of blocks in a transaction. */ |
10 | __u32 jp_journal_magic; /* random value made on fs creation (this |
11 | * was sb_journal_block_count) */ |
12 | __u32 jp_journal_max_batch; /* max number of blocks to batch into a |
13 | * trans */ |
14 | __u32 jp_journal_max_commit_age; /* in seconds, how old can an async |
15 | * commit be */ |
16 | __u32 jp_journal_max_trans_age; /* in seconds, how old can a transaction |
17 | * be */ |
18 | }; |
19 | |
20 | /* this is the super from 3.5.X, where X >= 10 */ |
21 | struct reiserfs_super_block_v1 { |
22 | __u32 s_block_count; /* blocks count */ |
23 | __u32 s_free_blocks; /* free blocks count */ |
24 | __u32 s_root_block; /* root block number */ |
25 | struct journal_params s_journal; |
26 | __u16 s_blocksize; /* block size */ |
27 | __u16 s_oid_maxsize; /* max size of object id array, see |
28 | * get_objectid() commentary */ |
29 | __u16 s_oid_cursize; /* current size of object id array */ |
30 | __u16 s_umount_state; /* this is set to 1 when filesystem was |
31 | * umounted, to 2 - when not */ |
32 | char s_magic[10]; /* reiserfs magic string indicates that |
33 | * file system is reiserfs: |
34 | * "ReIsErFs" or "ReIsEr2Fs" or "ReIsEr3Fs" */ |
35 | __u16 s_fs_state; /* it is set to used by fsck to mark which |
36 | * phase of rebuilding is done */ |
37 | __u32 s_hash_function_code; /* indicate, what hash function is being use |
38 | * to sort names in a directory*/ |
39 | __u16 s_tree_height; /* height of disk tree */ |
40 | __u16 s_bmap_nr; /* amount of bitmap blocks needed to address |
41 | * each block of file system */ |
42 | __u16 s_version; /* this field is only reliable on filesystem |
43 | * with non-standard journal */ |
44 | __u16 s_reserved_for_journal; /* size in blocks of journal area on main |
45 | * device, we need to keep after |
46 | * making fs with non-standard journal */ |
47 | } __attribute__ ((__packed__)); |
48 | |
49 | /* this is the on disk super block */ |
50 | struct reiserfs_super_block { |
51 | struct reiserfs_super_block_v1 s_v1; |
52 | __u32 s_inode_generation; |
53 | __u32 s_flags; /* Right now used only by inode-attributes, if enabled */ |
54 | unsigned char s_uuid[16]; /* filesystem unique identifier */ |
55 | unsigned char s_label[16]; /* filesystem volume label */ |
56 | char s_unused[88]; /* zero filled by mkreiserfs and |
57 | * reiserfs_convert_objectid_map_v1() |
58 | * so any additions must be updated |
59 | * there as well. */ |
60 | } __attribute__ ((__packed__)); |
61 | |
62 | #define REISERFS_SUPER_MAGIC_STRING "ReIsErFs" |
63 | #define REISER2FS_SUPER_MAGIC_STRING "ReIsEr2Fs" |
64 | #define REISER2FS_JR_SUPER_MAGIC_STRING "ReIsEr3Fs" |
65 | |
66 | #define SB_V1_DISK_SUPER_BLOCK(s) (&((s)->s_v1)) |
67 | #define REISERFS_BLOCKSIZE(s) \ |
68 | __le32_to_cpu((SB_V1_DISK_SUPER_BLOCK(s)->s_blocksize)) |
69 | #define REISERFS_BLOCK_COUNT(s) \ |
70 | __le32_to_cpu((SB_V1_DISK_SUPER_BLOCK(s)->s_block_count)) |
71 | #define REISERFS_MAGIC(s) \ |
72 | (SB_V1_DISK_SUPER_BLOCK(s)->s_magic) |
73 | |
74 | #endif /* __REISERFS_FS_H */ |