Magellan Linux

Contents of /trunk/mkinitrd-magellan/klibc/usr/kinit/fstype/ocfs2_fs.h

Parent Directory Parent Directory | Revision Log 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: 3284 byte(s)
-updated to klibc-1.5.15
1 #ifndef _OCFS2_FS_H
2 #define _OCFS2_FS_H
3
4 /* Object signatures */
5 #define OCFS2_SUPER_BLOCK_SIGNATURE "OCFSV2"
6
7 #define OCFS2_VOL_UUID_LEN 16
8 #define OCFS2_MAX_VOL_LABEL_LEN 64
9
10 /*
11 * On disk superblock for OCFS2
12 * Note that it is contained inside an ocfs2_dinode, so all offsets
13 * are relative to the start of ocfs2_dinode.id2.
14 */
15 struct ocfs2_super_block {
16 /*00*/ uint16_t s_major_rev_level;
17 uint16_t s_minor_rev_level;
18 uint16_t s_mnt_count;
19 int16_t s_max_mnt_count;
20 uint16_t s_state; /* File system state */
21 uint16_t s_errors; /* Behaviour when detecting errors */
22 uint32_t s_checkinterval; /* Max time between checks */
23 /*10*/ uint64_t s_lastcheck; /* Time of last check */
24 uint32_t s_creator_os; /* OS */
25 uint32_t s_feature_compat; /* Compatible feature set */
26 /*20*/ uint32_t s_feature_incompat; /* Incompatible feature set */
27 uint32_t s_feature_ro_compat; /* Readonly-compatible feature set */
28 uint64_t s_root_blkno; /* Offset, in blocks, of root directory
29 dinode */
30 /*30*/ uint64_t s_system_dir_blkno; /* Offset, in blocks, of system
31 directory dinode */
32 uint32_t s_blocksize_bits; /* Blocksize for this fs */
33 uint32_t s_clustersize_bits; /* Clustersize for this fs */
34 /*40*/ uint16_t s_max_slots; /* Max number of simultaneous mounts
35 before tunefs required */
36 uint16_t s_reserved1;
37 uint32_t s_reserved2;
38 uint64_t s_first_cluster_group; /* Block offset of 1st cluster
39 * group header */
40 /*50*/ uint8_t s_label[OCFS2_MAX_VOL_LABEL_LEN]; /* Label for mounting, etc. */
41 /*90*/ uint8_t s_uuid[OCFS2_VOL_UUID_LEN]; /* 128-bit uuid */
42 /*A0*/
43 } __attribute__ ((packed));
44
45 /*
46 * On disk inode for OCFS2
47 */
48 struct ocfs2_dinode {
49 /*00*/ uint8_t i_signature[8]; /* Signature for validation */
50 uint32_t i_generation; /* Generation number */
51 uint16_t i_suballoc_slot; /* Slot suballocator this inode
52 belongs to */
53 int16_t i_suballoc_bit; /* Bit offset in suballocator
54 block group */
55 /*10*/ uint32_t i_reserved0;
56 uint32_t i_clusters; /* Cluster count */
57 uint32_t i_uid; /* Owner UID */
58 uint32_t i_gid; /* Owning GID */
59 /*20*/ uint64_t i_size; /* Size in bytes */
60 uint16_t i_mode; /* File mode */
61 uint16_t i_links_count; /* Links count */
62 uint32_t i_flags; /* File flags */
63 /*30*/ uint64_t i_atime; /* Access time */
64 uint64_t i_ctime; /* Creation time */
65 /*40*/ uint64_t i_mtime; /* Modification time */
66 uint64_t i_dtime; /* Deletion time */
67 /*50*/ uint64_t i_blkno; /* Offset on disk, in blocks */
68 uint64_t i_last_eb_blk; /* Pointer to last extent
69 block */
70 /*60*/ uint32_t i_fs_generation; /* Generation per fs-instance */
71 uint32_t i_atime_nsec;
72 uint32_t i_ctime_nsec;
73 uint32_t i_mtime_nsec;
74 uint32_t i_attr;
75 uint16_t i_orphaned_slot; /* Only valid when OCFS2_ORPHANED_FL
76 was set in i_flags */
77 uint16_t i_reserved1;
78 /*70*/ uint64_t i_reserved2[8];
79 /*B8*/ uint64_t i_pad1;
80 uint64_t i_rdev; /* Device number */
81 uint32_t i_used; /* Bits (ie, clusters) used */
82 uint32_t i_total; /* Total bits (clusters)
83 available */
84 uint32_t ij_flags; /* Mounted, version, etc. */
85 uint32_t ij_pad;
86 /*C0*/ struct ocfs2_super_block i_super;
87 /* Actual on-disk size is one block */
88 } __attribute__ ((packed));
89
90 #endif /* _OCFS2_FS_H */