xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/gfs2_ondisk.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef __GFS2_ONDISK_DOT_H__
8*8d67ca89SAndroid Build Coastguard Worker #define __GFS2_ONDISK_DOT_H__
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #define GFS2_MAGIC 0x01161970
11*8d67ca89SAndroid Build Coastguard Worker #define GFS2_BASIC_BLOCK 512
12*8d67ca89SAndroid Build Coastguard Worker #define GFS2_BASIC_BLOCK_SHIFT 9
13*8d67ca89SAndroid Build Coastguard Worker #define GFS2_MOUNT_LOCK 0
14*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LIVE_LOCK 1
15*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FREEZE_LOCK 2
16*8d67ca89SAndroid Build Coastguard Worker #define GFS2_RENAME_LOCK 3
17*8d67ca89SAndroid Build Coastguard Worker #define GFS2_CONTROL_LOCK 4
18*8d67ca89SAndroid Build Coastguard Worker #define GFS2_MOUNTED_LOCK 5
19*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_NONE 0
20*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_SB 100
21*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_RG 200
22*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_RB 300
23*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_DI 400
24*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_IN 500
25*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_LF 600
26*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_JD 700
27*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_LH 800
28*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_LD 900
29*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_LB 1000
30*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_EA 1600
31*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_ED 1700
32*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_QC 1400
33*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_RI 1100
34*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_DE 1200
35*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_QU 1500
36*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_FS 1802
37*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FORMAT_MULTI 1900
38*8d67ca89SAndroid Build Coastguard Worker struct gfs2_inum {
39*8d67ca89SAndroid Build Coastguard Worker   __be64 no_formal_ino;
40*8d67ca89SAndroid Build Coastguard Worker   __be64 no_addr;
41*8d67ca89SAndroid Build Coastguard Worker };
42*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_NONE 0
43*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_SB 1
44*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_RG 2
45*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_RB 3
46*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_DI 4
47*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_IN 5
48*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_LF 6
49*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_JD 7
50*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_LH 8
51*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_LD 9
52*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_LB 12
53*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_EA 10
54*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_ED 11
55*8d67ca89SAndroid Build Coastguard Worker #define GFS2_METATYPE_QC 14
56*8d67ca89SAndroid Build Coastguard Worker struct gfs2_meta_header {
57*8d67ca89SAndroid Build Coastguard Worker   __be32 mh_magic;
58*8d67ca89SAndroid Build Coastguard Worker   __be32 mh_type;
59*8d67ca89SAndroid Build Coastguard Worker   __be64 __pad0;
60*8d67ca89SAndroid Build Coastguard Worker   __be32 mh_format;
61*8d67ca89SAndroid Build Coastguard Worker   union {
62*8d67ca89SAndroid Build Coastguard Worker     __be32 mh_jid;
63*8d67ca89SAndroid Build Coastguard Worker     __be32 __pad1;
64*8d67ca89SAndroid Build Coastguard Worker   };
65*8d67ca89SAndroid Build Coastguard Worker };
66*8d67ca89SAndroid Build Coastguard Worker #define GFS2_SB_ADDR 128
67*8d67ca89SAndroid Build Coastguard Worker #define GFS2_SB_LOCK 0
68*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LOCKNAME_LEN 64
69*8d67ca89SAndroid Build Coastguard Worker struct gfs2_sb {
70*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_meta_header sb_header;
71*8d67ca89SAndroid Build Coastguard Worker   __be32 sb_fs_format;
72*8d67ca89SAndroid Build Coastguard Worker   __be32 sb_multihost_format;
73*8d67ca89SAndroid Build Coastguard Worker   __u32 __pad0;
74*8d67ca89SAndroid Build Coastguard Worker   __be32 sb_bsize;
75*8d67ca89SAndroid Build Coastguard Worker   __be32 sb_bsize_shift;
76*8d67ca89SAndroid Build Coastguard Worker   __u32 __pad1;
77*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_inum sb_master_dir;
78*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_inum __pad2;
79*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_inum sb_root_dir;
80*8d67ca89SAndroid Build Coastguard Worker   char sb_lockproto[GFS2_LOCKNAME_LEN];
81*8d67ca89SAndroid Build Coastguard Worker   char sb_locktable[GFS2_LOCKNAME_LEN];
82*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_inum __pad3;
83*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_inum __pad4;
84*8d67ca89SAndroid Build Coastguard Worker #define GFS2_HAS_UUID 1
85*8d67ca89SAndroid Build Coastguard Worker   __u8 sb_uuid[16];
86*8d67ca89SAndroid Build Coastguard Worker };
87*8d67ca89SAndroid Build Coastguard Worker struct gfs2_rindex {
88*8d67ca89SAndroid Build Coastguard Worker   __be64 ri_addr;
89*8d67ca89SAndroid Build Coastguard Worker   __be32 ri_length;
90*8d67ca89SAndroid Build Coastguard Worker   __u32 __pad;
91*8d67ca89SAndroid Build Coastguard Worker   __be64 ri_data0;
92*8d67ca89SAndroid Build Coastguard Worker   __be32 ri_data;
93*8d67ca89SAndroid Build Coastguard Worker   __be32 ri_bitbytes;
94*8d67ca89SAndroid Build Coastguard Worker   __u8 ri_reserved[64];
95*8d67ca89SAndroid Build Coastguard Worker };
96*8d67ca89SAndroid Build Coastguard Worker #define GFS2_NBBY 4
97*8d67ca89SAndroid Build Coastguard Worker #define GFS2_BIT_SIZE 2
98*8d67ca89SAndroid Build Coastguard Worker #define GFS2_BIT_MASK 0x00000003
99*8d67ca89SAndroid Build Coastguard Worker #define GFS2_BLKST_FREE 0
100*8d67ca89SAndroid Build Coastguard Worker #define GFS2_BLKST_USED 1
101*8d67ca89SAndroid Build Coastguard Worker #define GFS2_BLKST_UNLINKED 2
102*8d67ca89SAndroid Build Coastguard Worker #define GFS2_BLKST_DINODE 3
103*8d67ca89SAndroid Build Coastguard Worker #define GFS2_RGF_JOURNAL 0x00000001
104*8d67ca89SAndroid Build Coastguard Worker #define GFS2_RGF_METAONLY 0x00000002
105*8d67ca89SAndroid Build Coastguard Worker #define GFS2_RGF_DATAONLY 0x00000004
106*8d67ca89SAndroid Build Coastguard Worker #define GFS2_RGF_NOALLOC 0x00000008
107*8d67ca89SAndroid Build Coastguard Worker #define GFS2_RGF_TRIMMED 0x00000010
108*8d67ca89SAndroid Build Coastguard Worker struct gfs2_inode_lvb {
109*8d67ca89SAndroid Build Coastguard Worker   __be32 ri_magic;
110*8d67ca89SAndroid Build Coastguard Worker   __be32 __pad;
111*8d67ca89SAndroid Build Coastguard Worker   __be64 ri_generation_deleted;
112*8d67ca89SAndroid Build Coastguard Worker };
113*8d67ca89SAndroid Build Coastguard Worker struct gfs2_rgrp_lvb {
114*8d67ca89SAndroid Build Coastguard Worker   __be32 rl_magic;
115*8d67ca89SAndroid Build Coastguard Worker   __be32 rl_flags;
116*8d67ca89SAndroid Build Coastguard Worker   __be32 rl_free;
117*8d67ca89SAndroid Build Coastguard Worker   __be32 rl_dinodes;
118*8d67ca89SAndroid Build Coastguard Worker   __be64 rl_igeneration;
119*8d67ca89SAndroid Build Coastguard Worker   __be32 rl_unlinked;
120*8d67ca89SAndroid Build Coastguard Worker   __be32 __pad;
121*8d67ca89SAndroid Build Coastguard Worker };
122*8d67ca89SAndroid Build Coastguard Worker struct gfs2_rgrp {
123*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_meta_header rg_header;
124*8d67ca89SAndroid Build Coastguard Worker   __be32 rg_flags;
125*8d67ca89SAndroid Build Coastguard Worker   __be32 rg_free;
126*8d67ca89SAndroid Build Coastguard Worker   __be32 rg_dinodes;
127*8d67ca89SAndroid Build Coastguard Worker   union {
128*8d67ca89SAndroid Build Coastguard Worker     __be32 __pad;
129*8d67ca89SAndroid Build Coastguard Worker     __be32 rg_skip;
130*8d67ca89SAndroid Build Coastguard Worker   };
131*8d67ca89SAndroid Build Coastguard Worker   __be64 rg_igeneration;
132*8d67ca89SAndroid Build Coastguard Worker   __be64 rg_data0;
133*8d67ca89SAndroid Build Coastguard Worker   __be32 rg_data;
134*8d67ca89SAndroid Build Coastguard Worker   __be32 rg_bitbytes;
135*8d67ca89SAndroid Build Coastguard Worker   __be32 rg_crc;
136*8d67ca89SAndroid Build Coastguard Worker   __u8 rg_reserved[60];
137*8d67ca89SAndroid Build Coastguard Worker };
138*8d67ca89SAndroid Build Coastguard Worker struct gfs2_quota {
139*8d67ca89SAndroid Build Coastguard Worker   __be64 qu_limit;
140*8d67ca89SAndroid Build Coastguard Worker   __be64 qu_warn;
141*8d67ca89SAndroid Build Coastguard Worker   __be64 qu_value;
142*8d67ca89SAndroid Build Coastguard Worker   __u8 qu_reserved[64];
143*8d67ca89SAndroid Build Coastguard Worker };
144*8d67ca89SAndroid Build Coastguard Worker #define GFS2_MAX_META_HEIGHT 10
145*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIR_MAX_DEPTH 17
146*8d67ca89SAndroid Build Coastguard Worker #define DT2IF(dt) (((dt) << 12) & S_IFMT)
147*8d67ca89SAndroid Build Coastguard Worker #define IF2DT(sif) (((sif) & S_IFMT) >> 12)
148*8d67ca89SAndroid Build Coastguard Worker enum {
149*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_Jdata = 0,
150*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_ExHash = 1,
151*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_Unused = 2,
152*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_EaIndirect = 3,
153*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_Directio = 4,
154*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_Immutable = 5,
155*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_AppendOnly = 6,
156*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_NoAtime = 7,
157*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_Sync = 8,
158*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_System = 9,
159*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_TopLevel = 10,
160*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_TruncInProg = 29,
161*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_InheritDirectio = 30,
162*8d67ca89SAndroid Build Coastguard Worker   gfs2fl_InheritJdata = 31,
163*8d67ca89SAndroid Build Coastguard Worker };
164*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_JDATA 0x00000001
165*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_EXHASH 0x00000002
166*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_UNUSED 0x00000004
167*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_EA_INDIRECT 0x00000008
168*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_DIRECTIO 0x00000010
169*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_IMMUTABLE 0x00000020
170*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_APPENDONLY 0x00000040
171*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_NOATIME 0x00000080
172*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_SYNC 0x00000100
173*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_SYSTEM 0x00000200
174*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_TOPDIR 0x00000400
175*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_TRUNC_IN_PROG 0x20000000
176*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_INHERIT_DIRECTIO 0x40000000
177*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIF_INHERIT_JDATA 0x80000000
178*8d67ca89SAndroid Build Coastguard Worker struct gfs2_dinode {
179*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_meta_header di_header;
180*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_inum di_num;
181*8d67ca89SAndroid Build Coastguard Worker   __be32 di_mode;
182*8d67ca89SAndroid Build Coastguard Worker   __be32 di_uid;
183*8d67ca89SAndroid Build Coastguard Worker   __be32 di_gid;
184*8d67ca89SAndroid Build Coastguard Worker   __be32 di_nlink;
185*8d67ca89SAndroid Build Coastguard Worker   __be64 di_size;
186*8d67ca89SAndroid Build Coastguard Worker   __be64 di_blocks;
187*8d67ca89SAndroid Build Coastguard Worker   __be64 di_atime;
188*8d67ca89SAndroid Build Coastguard Worker   __be64 di_mtime;
189*8d67ca89SAndroid Build Coastguard Worker   __be64 di_ctime;
190*8d67ca89SAndroid Build Coastguard Worker   __be32 di_major;
191*8d67ca89SAndroid Build Coastguard Worker   __be32 di_minor;
192*8d67ca89SAndroid Build Coastguard Worker   __be64 di_goal_meta;
193*8d67ca89SAndroid Build Coastguard Worker   __be64 di_goal_data;
194*8d67ca89SAndroid Build Coastguard Worker   __be64 di_generation;
195*8d67ca89SAndroid Build Coastguard Worker   __be32 di_flags;
196*8d67ca89SAndroid Build Coastguard Worker   __be32 di_payload_format;
197*8d67ca89SAndroid Build Coastguard Worker   __u16 __pad1;
198*8d67ca89SAndroid Build Coastguard Worker   __be16 di_height;
199*8d67ca89SAndroid Build Coastguard Worker   __u32 __pad2;
200*8d67ca89SAndroid Build Coastguard Worker   __u16 __pad3;
201*8d67ca89SAndroid Build Coastguard Worker   __be16 di_depth;
202*8d67ca89SAndroid Build Coastguard Worker   __be32 di_entries;
203*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_inum __pad4;
204*8d67ca89SAndroid Build Coastguard Worker   __be64 di_eattr;
205*8d67ca89SAndroid Build Coastguard Worker   __be32 di_atime_nsec;
206*8d67ca89SAndroid Build Coastguard Worker   __be32 di_mtime_nsec;
207*8d67ca89SAndroid Build Coastguard Worker   __be32 di_ctime_nsec;
208*8d67ca89SAndroid Build Coastguard Worker   __u8 di_reserved[44];
209*8d67ca89SAndroid Build Coastguard Worker };
210*8d67ca89SAndroid Build Coastguard Worker #define GFS2_FNAMESIZE 255
211*8d67ca89SAndroid Build Coastguard Worker #define GFS2_DIRENT_SIZE(name_len) ((sizeof(struct gfs2_dirent) + (name_len) + 7) & ~7)
212*8d67ca89SAndroid Build Coastguard Worker #define GFS2_MIN_DIRENT_SIZE (GFS2_DIRENT_SIZE(1))
213*8d67ca89SAndroid Build Coastguard Worker struct gfs2_dirent {
214*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_inum de_inum;
215*8d67ca89SAndroid Build Coastguard Worker   __be32 de_hash;
216*8d67ca89SAndroid Build Coastguard Worker   __be16 de_rec_len;
217*8d67ca89SAndroid Build Coastguard Worker   __be16 de_name_len;
218*8d67ca89SAndroid Build Coastguard Worker   __be16 de_type;
219*8d67ca89SAndroid Build Coastguard Worker   __be16 de_rahead;
220*8d67ca89SAndroid Build Coastguard Worker   union {
221*8d67ca89SAndroid Build Coastguard Worker     __u8 __pad[12];
222*8d67ca89SAndroid Build Coastguard Worker     struct {
223*8d67ca89SAndroid Build Coastguard Worker       __u32 de_cookie;
224*8d67ca89SAndroid Build Coastguard Worker       __u8 pad3[8];
225*8d67ca89SAndroid Build Coastguard Worker     };
226*8d67ca89SAndroid Build Coastguard Worker   };
227*8d67ca89SAndroid Build Coastguard Worker };
228*8d67ca89SAndroid Build Coastguard Worker struct gfs2_leaf {
229*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_meta_header lf_header;
230*8d67ca89SAndroid Build Coastguard Worker   __be16 lf_depth;
231*8d67ca89SAndroid Build Coastguard Worker   __be16 lf_entries;
232*8d67ca89SAndroid Build Coastguard Worker   __be32 lf_dirent_format;
233*8d67ca89SAndroid Build Coastguard Worker   __be64 lf_next;
234*8d67ca89SAndroid Build Coastguard Worker   union {
235*8d67ca89SAndroid Build Coastguard Worker     __u8 lf_reserved[64];
236*8d67ca89SAndroid Build Coastguard Worker     struct {
237*8d67ca89SAndroid Build Coastguard Worker       __be64 lf_inode;
238*8d67ca89SAndroid Build Coastguard Worker       __be32 lf_dist;
239*8d67ca89SAndroid Build Coastguard Worker       __be32 lf_nsec;
240*8d67ca89SAndroid Build Coastguard Worker       __be64 lf_sec;
241*8d67ca89SAndroid Build Coastguard Worker       __u8 lf_reserved2[40];
242*8d67ca89SAndroid Build Coastguard Worker     };
243*8d67ca89SAndroid Build Coastguard Worker   };
244*8d67ca89SAndroid Build Coastguard Worker };
245*8d67ca89SAndroid Build Coastguard Worker #define GFS2_EA_MAX_NAME_LEN 255
246*8d67ca89SAndroid Build Coastguard Worker #define GFS2_EA_MAX_DATA_LEN 65536
247*8d67ca89SAndroid Build Coastguard Worker #define GFS2_EATYPE_UNUSED 0
248*8d67ca89SAndroid Build Coastguard Worker #define GFS2_EATYPE_USR 1
249*8d67ca89SAndroid Build Coastguard Worker #define GFS2_EATYPE_SYS 2
250*8d67ca89SAndroid Build Coastguard Worker #define GFS2_EATYPE_SECURITY 3
251*8d67ca89SAndroid Build Coastguard Worker #define GFS2_EATYPE_TRUSTED 4
252*8d67ca89SAndroid Build Coastguard Worker #define GFS2_EATYPE_LAST 4
253*8d67ca89SAndroid Build Coastguard Worker #define GFS2_EATYPE_VALID(x) ((x) <= GFS2_EATYPE_LAST)
254*8d67ca89SAndroid Build Coastguard Worker #define GFS2_EAFLAG_LAST 0x01
255*8d67ca89SAndroid Build Coastguard Worker struct gfs2_ea_header {
256*8d67ca89SAndroid Build Coastguard Worker   __be32 ea_rec_len;
257*8d67ca89SAndroid Build Coastguard Worker   __be32 ea_data_len;
258*8d67ca89SAndroid Build Coastguard Worker   __u8 ea_name_len;
259*8d67ca89SAndroid Build Coastguard Worker   __u8 ea_type;
260*8d67ca89SAndroid Build Coastguard Worker   __u8 ea_flags;
261*8d67ca89SAndroid Build Coastguard Worker   __u8 ea_num_ptrs;
262*8d67ca89SAndroid Build Coastguard Worker   __u32 __pad;
263*8d67ca89SAndroid Build Coastguard Worker };
264*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LOG_HEAD_UNMOUNT 0x00000001
265*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LOG_HEAD_FLUSH_NORMAL 0x00000002
266*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LOG_HEAD_FLUSH_SYNC 0x00000004
267*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LOG_HEAD_FLUSH_SHUTDOWN 0x00000008
268*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LOG_HEAD_FLUSH_FREEZE 0x00000010
269*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LOG_HEAD_RECOVERY 0x00000020
270*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LOG_HEAD_USERSPACE 0x80000000
271*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_SHUTDOWN 0x00000100
272*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_JDATA_WPAGES 0x00000200
273*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_SET_FLAGS 0x00000400
274*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_AIL_EMPTY_GL 0x00000800
275*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_AIL_FLUSH 0x00001000
276*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_RGRP_GO_SYNC 0x00002000
277*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_INODE_GO_SYNC 0x00004000
278*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_INODE_GO_INVAL 0x00008000
279*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_FREEZE_GO_SYNC 0x00010000
280*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_KILL_SB 0x00020000
281*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_DO_SYNC 0x00040000
282*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_INPLACE_RESERVE 0x00080000
283*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_WRITE_INODE 0x00100000
284*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_MAKE_FS_RO 0x00200000
285*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_SYNC_FS 0x00400000
286*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_EVICT_INODE 0x00800000
287*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_TRANS_END 0x01000000
288*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_LOGD_JFLUSH_REQD 0x02000000
289*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LFC_LOGD_AIL_FLUSH_REQD 0x04000000
290*8d67ca89SAndroid Build Coastguard Worker #define LH_V1_SIZE (offsetofend(struct gfs2_log_header, lh_hash))
291*8d67ca89SAndroid Build Coastguard Worker struct gfs2_log_header {
292*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_meta_header lh_header;
293*8d67ca89SAndroid Build Coastguard Worker   __be64 lh_sequence;
294*8d67ca89SAndroid Build Coastguard Worker   __be32 lh_flags;
295*8d67ca89SAndroid Build Coastguard Worker   __be32 lh_tail;
296*8d67ca89SAndroid Build Coastguard Worker   __be32 lh_blkno;
297*8d67ca89SAndroid Build Coastguard Worker   __be32 lh_hash;
298*8d67ca89SAndroid Build Coastguard Worker   __be32 lh_crc;
299*8d67ca89SAndroid Build Coastguard Worker   __be32 lh_nsec;
300*8d67ca89SAndroid Build Coastguard Worker   __be64 lh_sec;
301*8d67ca89SAndroid Build Coastguard Worker   __be64 lh_addr;
302*8d67ca89SAndroid Build Coastguard Worker   __be64 lh_jinode;
303*8d67ca89SAndroid Build Coastguard Worker   __be64 lh_statfs_addr;
304*8d67ca89SAndroid Build Coastguard Worker   __be64 lh_quota_addr;
305*8d67ca89SAndroid Build Coastguard Worker   __be64 lh_local_total;
306*8d67ca89SAndroid Build Coastguard Worker   __be64 lh_local_free;
307*8d67ca89SAndroid Build Coastguard Worker   __be64 lh_local_dinodes;
308*8d67ca89SAndroid Build Coastguard Worker };
309*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LOG_DESC_METADATA 300
310*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LOG_DESC_REVOKE 301
311*8d67ca89SAndroid Build Coastguard Worker #define GFS2_LOG_DESC_JDATA 302
312*8d67ca89SAndroid Build Coastguard Worker struct gfs2_log_descriptor {
313*8d67ca89SAndroid Build Coastguard Worker   struct gfs2_meta_header ld_header;
314*8d67ca89SAndroid Build Coastguard Worker   __be32 ld_type;
315*8d67ca89SAndroid Build Coastguard Worker   __be32 ld_length;
316*8d67ca89SAndroid Build Coastguard Worker   __be32 ld_data1;
317*8d67ca89SAndroid Build Coastguard Worker   __be32 ld_data2;
318*8d67ca89SAndroid Build Coastguard Worker   __u8 ld_reserved[32];
319*8d67ca89SAndroid Build Coastguard Worker };
320*8d67ca89SAndroid Build Coastguard Worker #define GFS2_INUM_QUANTUM 1048576
321*8d67ca89SAndroid Build Coastguard Worker struct gfs2_inum_range {
322*8d67ca89SAndroid Build Coastguard Worker   __be64 ir_start;
323*8d67ca89SAndroid Build Coastguard Worker   __be64 ir_length;
324*8d67ca89SAndroid Build Coastguard Worker };
325*8d67ca89SAndroid Build Coastguard Worker struct gfs2_statfs_change {
326*8d67ca89SAndroid Build Coastguard Worker   __be64 sc_total;
327*8d67ca89SAndroid Build Coastguard Worker   __be64 sc_free;
328*8d67ca89SAndroid Build Coastguard Worker   __be64 sc_dinodes;
329*8d67ca89SAndroid Build Coastguard Worker };
330*8d67ca89SAndroid Build Coastguard Worker #define GFS2_QCF_USER 0x00000001
331*8d67ca89SAndroid Build Coastguard Worker struct gfs2_quota_change {
332*8d67ca89SAndroid Build Coastguard Worker   __be64 qc_change;
333*8d67ca89SAndroid Build Coastguard Worker   __be32 qc_flags;
334*8d67ca89SAndroid Build Coastguard Worker   __be32 qc_id;
335*8d67ca89SAndroid Build Coastguard Worker };
336*8d67ca89SAndroid Build Coastguard Worker struct gfs2_quota_lvb {
337*8d67ca89SAndroid Build Coastguard Worker   __be32 qb_magic;
338*8d67ca89SAndroid Build Coastguard Worker   __u32 __pad;
339*8d67ca89SAndroid Build Coastguard Worker   __be64 qb_limit;
340*8d67ca89SAndroid Build Coastguard Worker   __be64 qb_warn;
341*8d67ca89SAndroid Build Coastguard Worker   __be64 qb_value;
342*8d67ca89SAndroid Build Coastguard Worker };
343*8d67ca89SAndroid Build Coastguard Worker #endif
344