/
usr
/
include
/
linux
/
/usr/include/linux
mkdir
upload
Name
Size
Mode
Actions
byteorder/
-
0755
rm
can/
-
0755
rm
dvb/
-
0755
rm
hdlc/
-
0755
rm
isdn/
-
0755
rm
netfilter/
-
0755
rm
netfilter_arp/
-
0755
rm
netfilter_bridge/
-
0755
rm
netfilter_ipv4/
-
0755
rm
netfilter_ipv6/
-
0755
rm
nfsd/
-
0755
rm
raid/
-
0755
rm
spi/
-
0755
rm
sunrpc/
-
0755
rm
tc_act/
-
0755
rm
tc_ematch/
-
0755
rm
usb/
-
0755
rm
wimax/
-
0755
rm
a.out.h
7319
0644
edit
dl
rm
acct.h
3490
0644
edit
dl
rm
adb.h
1077
0644
edit
dl
rm
adfs_fs.h
856
0644
edit
dl
rm
affs_hardblocks.h
1481
0644
edit
dl
rm
agpgart.h
3925
0644
edit
dl
rm
aio_abi.h
3112
0644
edit
dl
rm
apm_bios.h
3544
0644
edit
dl
rm
arcfb.h
150
0644
edit
dl
rm
atalk.h
927
0644
edit
dl
rm
atm.h
7806
0644
edit
dl
rm
atmapi.h
889
0644
edit
dl
rm
atmarp.h
1233
0644
edit
dl
rm
atmbr2684.h
3208
0644
edit
dl
rm
atmclip.h
513
0644
edit
dl
rm
atmdev.h
7593
0644
edit
dl
rm
atmioc.h
1583
0644
edit
dl
rm
atmlec.h
2561
0644
edit
dl
rm
atmmpc.h
4163
0644
edit
dl
rm
atmppp.h
576
0644
edit
dl
rm
atmsap.h
4907
0644
edit
dl
rm
atmsvc.h
1790
0644
edit
dl
rm
atm_eni.h
585
0644
edit
dl
rm
atm_he.h
343
0644
edit
dl
rm
atm_idt77105.h
892
0644
edit
dl
rm
atm_nicstar.h
1215
0644
edit
dl
rm
atm_tcp.h
1537
0644
edit
dl
rm
atm_zatm.h
1606
0644
edit
dl
rm
audit.h
15880
0644
edit
dl
rm
auto_fs.h
2346
0644
edit
dl
rm
auto_fs4.h
4131
0644
edit
dl
rm
auxvec.h
1384
0644
edit
dl
rm
ax25.h
2752
0644
edit
dl
rm
b1lli.h
1654
0644
edit
dl
rm
baycom.h
820
0644
edit
dl
rm
bfs_fs.h
1830
0644
edit
dl
rm
binfmts.h
565
0644
edit
dl
rm
blkpg.h
1598
0644
edit
dl
rm
blktrace_api.h
4473
0644
edit
dl
rm
blk_types.h
7106
0644
edit
dl
rm
bpqether.h
952
0644
edit
dl
rm
bsg.h
2385
0644
edit
dl
rm
can.h
3326
0644
edit
dl
rm
capability.h
10589
0644
edit
dl
rm
capi.h
3057
0644
edit
dl
rm
cciss_ioctl.h
5824
0644
edit
dl
rm
cdk.h
12770
0644
edit
dl
rm
cdrom.h
28129
0644
edit
dl
rm
cgroupstats.h
2155
0644
edit
dl
rm
chio.h
5280
0644
edit
dl
rm
cm4000_cs.h
1718
0644
edit
dl
rm
cn_proc.h
2715
0644
edit
dl
rm
coda.h
17487
0644
edit
dl
rm
coda_psdev.h
679
0644
edit
dl
rm
coff.h
12413
0644
edit
dl
rm
comstats.h
3120
0644
edit
dl
rm
connector.h
2129
0644
edit
dl
rm
const.h
682
0644
edit
dl
rm
cramfs_fs.h
2930
0644
edit
dl
rm
cuda.h
769
0644
edit
dl
rm
cyclades.h
17045
0644
edit
dl
rm
cycx_cfm.h
2926
0644
edit
dl
rm
dcbnl.h
22120
0644
edit
dl
rm
dccp.h
5800
0644
edit
dl
rm
dlm.h
2529
0644
edit
dl
rm
dlmconstants.h
5013
0644
edit
dl
rm
dlm_device.h
2480
0644
edit
dl
rm
dlm_netlink.h
1064
0644
edit
dl
rm
dlm_plock.h
806
0644
edit
dl
rm
dm-ioctl.h
10668
0644
edit
dl
rm
dm-log-userspace.h
15173
0644
edit
dl
rm
dn.h
4527
0644
edit
dl
rm
dqblk_xfs.h
6952
0644
edit
dl
rm
edd.h
5544
0644
edit
dl
rm
efs_fs_sb.h
2164
0644
edit
dl
rm
elf-em.h
1834
0644
edit
dl
rm
elf-fdpic.h
2557
0644
edit
dl
rm
elf.h
11236
0644
edit
dl
rm
elfcore.h
2932
0644
edit
dl
rm
errno.h
79
0644
edit
dl
rm
errqueue.h
443
0644
edit
dl
rm
ethtool.h
34166
0644
edit
dl
rm
eventpoll.h
1353
0644
edit
dl
rm
ext2_fs.h
18802
0644
edit
dl
rm
fadvise.h
855
0644
edit
dl
rm
falloc.h
293
0644
edit
dl
rm
fb.h
16016
0644
edit
dl
rm
fcntl.h
1607
0644
edit
dl
rm
fd.h
11563
0644
edit
dl
rm
fdreg.h
5355
0644
edit
dl
rm
fib_rules.h
1459
0644
edit
dl
rm
fiemap.h
2548
0644
edit
dl
rm
filter.h
3534
0644
edit
dl
rm
firewire-cdev.h
25053
0644
edit
dl
rm
firewire-constants.h
1975
0644
edit
dl
rm
flat.h
2085
0644
edit
dl
rm
fs.h
18910
0644
edit
dl
rm
fuse.h
11441
0644
edit
dl
rm
futex.h
4909
0644
edit
dl
rm
gameport.h
816
0644
edit
dl
rm
generic_serial.h
895
0644
edit
dl
rm
genetlink.h
1683
0644
edit
dl
rm
gen_stats.h
1304
0644
edit
dl
rm
gfs2_ondisk.h
11814
0644
edit
dl
rm
gigaset_dev.h
981
0644
edit
dl
rm
hayesesp.h
230
0644
edit
dl
rm
hdlc.h
574
0644
edit
dl
rm
hdlcdrv.h
2845
0644
edit
dl
rm
hdreg.h
22640
0644
edit
dl
rm
hid.h
1824
0644
edit
dl
rm
hiddev.h
6265
0644
edit
dl
rm
hidraw.h
1217
0644
edit
dl
rm
hpet.h
686
0644
edit
dl
rm
hysdn_if.h
1319
0644
edit
dl
rm
i2c-dev.h
2403
0644
edit
dl
rm
i2c.h
6631
0644
edit
dl
rm
i2o-dev.h
11488
0644
edit
dl
rm
i8k.h
1438
0644
edit
dl
rm
icmp.h
2892
0644
edit
dl
rm
icmpv6.h
3831
0644
edit
dl
rm
if.h
8673
0644
edit
dl
rm
if_addr.h
1456
0644
edit
dl
rm
if_addrlabel.h
658
0644
edit
dl
rm
if_arcnet.h
3718
0644
edit
dl
rm
if_arp.h
6109
0644
edit
dl
rm
if_bonding.h
4076
0644
edit
dl
rm
if_bridge.h
3810
0644
edit
dl
rm
if_cablemodem.h
910
0644
edit
dl
rm
if_ec.h
901
0644
edit
dl
rm
if_eql.h
1284
0644
edit
dl
rm
if_ether.h
6539
0644
edit
dl
rm
if_fc.h
1674
0644
edit
dl
rm
if_fddi.h
3700
0644
edit
dl
rm
if_frad.h
2940
0644
edit
dl
rm
if_hippi.h
4175
0644
edit
dl
rm
if_infiniband.h
1145
0644
edit
dl
rm
if_link.h
12078
0644
edit
dl
rm
if_ltalk.h
125
0644
edit
dl
rm
if_packet.h
3530
0644
edit
dl
rm
if_phonet.h
337
0644
edit
dl
rm
if_plip.h
596
0644
edit
dl
rm
if_ppp.h
6938
0644
edit
dl
rm
if_pppol2tp.h
1983
0644
edit
dl
rm
if_pppox.h
3772
0644
edit
dl
rm
if_slip.h
809
0644
edit
dl
rm
if_strip.h
700
0644
edit
dl
rm
if_tr.h
3199
0644
edit
dl
rm
if_tun.h
3014
0644
edit
dl
rm
if_tunnel.h
1459
0644
edit
dl
rm
if_vlan.h
1708
0644
edit
dl
rm
igmp.h
2928
0644
edit
dl
rm
in.h
9203
0644
edit
dl
rm
in6.h
7495
0644
edit
dl
rm
inet_diag.h
2453
0644
edit
dl
rm
inotify.h
2838
0644
edit
dl
rm
input.h
27594
0644
edit
dl
rm
in_route.h
873
0644
edit
dl
rm
ioctl.h
100
0644
edit
dl
rm
ip.h
3555
0644
edit
dl
rm
ip6_tunnel.h
1073
0644
edit
dl
rm
ipc.h
2038
0644
edit
dl
rm
ipmi.h
16543
0644
edit
dl
rm
ipmi_msgdefs.h
4477
0644
edit
dl
rm
ipsec.h
884
0644
edit
dl
rm
ipv6.h
2892
0644
edit
dl
rm
ipv6_route.h
1614
0644
edit
dl
rm
ipx.h
1824
0644
edit
dl
rm
ip_vs.h
12583
0644
edit
dl
rm
irda.h
7651
0644
edit
dl
rm
irqnr.h
93
0644
edit
dl
rm
isdn.h
5687
0644
edit
dl
rm
isdnif.h
2306
0644
edit
dl
rm
isdn_divertif.h
1038
0644
edit
dl
rm
isdn_ppp.h
1859
0644
edit
dl
rm
iso_fs.h
6439
0644
edit
dl
rm
ivtv.h
2726
0644
edit
dl
rm
ivtvfb.h
1143
0644
edit
dl
rm
ixjuser.h
25116
0644
edit
dl
rm
jffs2.h
6949
0644
edit
dl
rm
joystick.h
3587
0644
edit
dl
rm
kd.h
6169
0644
edit
dl
rm
kdev_t.h
298
0644
edit
dl
rm
kernel.h
2457
0644
edit
dl
rm
kernelcapi.h
959
0644
edit
dl
rm
keyboard.h
12695
0644
edit
dl
rm
keyctl.h
2984
0644
edit
dl
rm
kvm.h
20681
0644
edit
dl
rm
kvm_para.h
564
0644
edit
dl
rm
libc-compat.h
3540
0644
edit
dl
rm
limits.h
874
0644
edit
dl
rm
llc.h
2835
0644
edit
dl
rm
loop.h
2189
0644
edit
dl
rm
lp.h
3794
0644
edit
dl
rm
magic.h
2292
0644
edit
dl
rm
major.h
4655
0644
edit
dl
rm
map_to_7segment.h
7187
0644
edit
dl
rm
matroxfb.h
1429
0644
edit
dl
rm
mempolicy.h
2052
0644
edit
dl
rm
meye.h
2544
0644
edit
dl
rm
mii.h
7950
0644
edit
dl
rm
minix_fs.h
2059
0644
edit
dl
rm
mman.h
230
0644
edit
dl
rm
mmtimer.h
2054
0644
edit
dl
rm
mqueue.h
2055
0644
edit
dl
rm
mroute.h
3813
0644
edit
dl
rm
mroute6.h
3991
0644
edit
dl
rm
msdos_fs.h
5839
0644
edit
dl
rm
msg.h
2539
0644
edit
dl
rm
mtio.h
8080
0644
edit
dl
rm
nbd.h
1958
0644
edit
dl
rm
ncp.h
5055
0644
edit
dl
rm
ncp_fs.h
3354
0644
edit
dl
rm
ncp_mount.h
2112
0644
edit
dl
rm
ncp_no.h
651
0644
edit
dl
rm
neighbour.h
4060
0644
edit
dl
rm
net.h
2021
0644
edit
dl
rm
netdevice.h
1771
0644
edit
dl
rm
netfilter.h
1546
0644
edit
dl
rm
netfilter_arp.h
380
0644
edit
dl
rm
netfilter_bridge.h
735
0644
edit
dl
rm
netfilter_decnet.h
1872
0644
edit
dl
rm
netfilter_ipv4.h
2032
0644
edit
dl
rm
netfilter_ipv6.h
2050
0644
edit
dl
rm
netlink.h
4969
0644
edit
dl
rm
netrom.h
719
0644
edit
dl
rm
net_dropmon.h
1091
0644
edit
dl
rm
net_tstamp.h
3468
0644
edit
dl
rm
nfs.h
4351
0644
edit
dl
rm
nfs2.h
1405
0644
edit
dl
rm
nfs3.h
2207
0644
edit
dl
rm
nfs4.h
5763
0644
edit
dl
rm
nfs4_mount.h
1869
0644
edit
dl
rm
nfsacl.h
577
0644
edit
dl
rm
nfs_fs.h
1552
0644
edit
dl
rm
nfs_idmap.h
2238
0644
edit
dl
rm
nfs_mount.h
3200
0644
edit
dl
rm
nl80211.h
192354
0644
edit
dl
rm
nubus.h
8366
0644
edit
dl
rm
nvram.h
470
0644
edit
dl
rm
n_r3964.h
2349
0644
edit
dl
rm
oom.h
456
0644
edit
dl
rm
param.h
78
0644
edit
dl
rm
parport.h
3644
0644
edit
dl
rm
patchkey.h
831
0644
edit
dl
rm
pci.h
1485
0644
edit
dl
rm
pci_regs.h
37975
0644
edit
dl
rm
perf_event.h
21849
0644
edit
dl
rm
personality.h
1998
0644
edit
dl
rm
pfkeyv2.h
10147
0644
edit
dl
rm
pg.h
2282
0644
edit
dl
rm
phantom.h
1590
0644
edit
dl
rm
phonet.h
4349
0644
edit
dl
rm
pktcdvd.h
2623
0644
edit
dl
rm
pkt_cls.h
9293
0644
edit
dl
rm
pkt_sched.h
10887
0644
edit
dl
rm
pmu.h
5187
0644
edit
dl
rm
poll.h
96
0644
edit
dl
rm
posix_types.h
1270
0644
edit
dl
rm
ppdev.h
3147
0644
edit
dl
rm
ppp-comp.h
6516
0644
edit
dl
rm
ppp_defs.h
6461
0644
edit
dl
rm
pps.h
3939
0644
edit
dl
rm
prctl.h
4972
0644
edit
dl
rm
ptp_clock.h
3496
0644
edit
dl
rm
ptrace.h
2290
0644
edit
dl
rm
qnx4_fs.h
2265
0644
edit
dl
rm
qnxtypes.h
561
0644
edit
dl
rm
quota.h
5723
0644
edit
dl
rm
radeonfb.h
297
0644
edit
dl
rm
random.h
1085
0644
edit
dl
rm
raw.h
302
0644
edit
dl
rm
reboot.h
1280
0644
edit
dl
rm
reiserfs_fs.h
907
0644
edit
dl
rm
reiserfs_xattr.h
465
0644
edit
dl
rm
resource.h
2087
0644
edit
dl
rm
rfkill.h
3384
0644
edit
dl
rm
romfs_fs.h
1127
0644
edit
dl
rm
rose.h
2100
0644
edit
dl
rm
route.h
2269
0644
edit
dl
rm
rtc.h
3696
0644
edit
dl
rm
rtnetlink.h
15335
0644
edit
dl
rm
scc.h
4543
0644
edit
dl
rm
sched.h
2096
0644
edit
dl
rm
screen_info.h
2202
0644
edit
dl
rm
sdla.h
2837
0644
edit
dl
rm
selinux_netlink.h
1132
0644
edit
dl
rm
sem.h
3666
0644
edit
dl
rm
serial.h
6780
0644
edit
dl
rm
serial_core.h
4024
0644
edit
dl
rm
serial_reg.h
13245
0644
edit
dl
rm
serio.h
1688
0644
edit
dl
rm
shm.h
2187
0644
edit
dl
rm
signal.h
129
0644
edit
dl
rm
signalfd.h
1096
0644
edit
dl
rm
smb.h
1209
0644
edit
dl
rm
smbno.h
14520
0644
edit
dl
rm
smb_fs.h
535
0644
edit
dl
rm
smb_mount.h
468
0644
edit
dl
rm
snmp.h
11157
0644
edit
dl
rm
socket.h
738
0644
edit
dl
rm
sockios.h
5967
0644
edit
dl
rm
som.h
5480
0644
edit
dl
rm
sonet.h
2207
0644
edit
dl
rm
sonypi.h
5136
0644
edit
dl
rm
sound.h
1099
0644
edit
dl
rm
soundcard.h
46019
0644
edit
dl
rm
stat.h
1005
0644
edit
dl
rm
stddef.h
633
0644
edit
dl
rm
string.h
175
0644
edit
dl
rm
suspend_ioctls.h
1368
0644
edit
dl
rm
swab.h
6292
0644
edit
dl
rm
synclink.h
8695
0644
edit
dl
rm
sysctl.h
26495
0644
edit
dl
rm
taskstats.h
6947
0644
edit
dl
rm
tcp.h
5205
0644
edit
dl
rm
telephony.h
9051
0644
edit
dl
rm
termios.h
544
0644
edit
dl
rm
time.h
1736
0644
edit
dl
rm
times.h
215
0644
edit
dl
rm
timex.h
6221
0644
edit
dl
rm
tiocl.h
1666
0644
edit
dl
rm
tipc.h
5910
0644
edit
dl
rm
tipc_config.h
15370
0644
edit
dl
rm
toshiba.h
1284
0644
edit
dl
rm
tty.h
128
0644
edit
dl
rm
types.h
991
0644
edit
dl
rm
udf_fs_i.h
634
0644
edit
dl
rm
udp.h
1166
0644
edit
dl
rm
uinput.h
5125
0644
edit
dl
rm
uio.h
648
0644
edit
dl
rm
ultrasound.h
4499
0644
edit
dl
rm
un.h
203
0644
edit
dl
rm
unistd.h
157
0644
edit
dl
rm
usbdevice_fs.h
5340
0644
edit
dl
rm
utime.h
152
0644
edit
dl
rm
utsname.h
606
0644
edit
dl
rm
uuid.h
1769
0644
edit
dl
rm
version.h
281
0644
edit
dl
rm
veth.h
474
0644
edit
dl
rm
vhost.h
4566
0644
edit
dl
rm
videodev.h
10513
0644
edit
dl
rm
videodev2.h
66071
0644
edit
dl
rm
videotext.h
4242
0644
edit
dl
rm
virtio_9p.h
351
0644
edit
dl
rm
virtio_balloon.h
1255
0644
edit
dl
rm
virtio_blk.h
2981
0644
edit
dl
rm
virtio_config.h
1284
0644
edit
dl
rm
virtio_console.h
1406
0644
edit
dl
rm
virtio_ids.h
545
0644
edit
dl
rm
virtio_net.h
7026
0644
edit
dl
rm
virtio_pci.h
2263
0644
edit
dl
rm
virtio_ring.h
4489
0644
edit
dl
rm
virtio_rng.h
265
0644
edit
dl
rm
vt.h
3070
0644
edit
dl
rm
wait.h
580
0644
edit
dl
rm
wanrouter.h
17836
0644
edit
dl
rm
watchdog.h
2400
0644
edit
dl
rm
wimax.h
8370
0644
edit
dl
rm
wireless.h
42653
0644
edit
dl
rm
x25.h
3418
0644
edit
dl
rm
xattr.h
646
0644
edit
dl
rm
xfrm.h
10558
0644
edit
dl
rm
Edit:
/usr/include/linux/gfs2_ondisk.h
(11814B)
/* * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. * * This copyrighted material is made available to anyone wishing to use, * modify, copy, or redistribute it subject to the terms and conditions * of the GNU General Public License v.2. */ #ifndef __GFS2_ONDISK_DOT_H__ #define __GFS2_ONDISK_DOT_H__ #include <linux/types.h> #define GFS2_MAGIC 0x01161970 #define GFS2_BASIC_BLOCK 512 #define GFS2_BASIC_BLOCK_SHIFT 9 /* Lock numbers of the LM_TYPE_NONDISK type */ #define GFS2_MOUNT_LOCK 0 #define GFS2_LIVE_LOCK 1 #define GFS2_TRANS_LOCK 2 #define GFS2_RENAME_LOCK 3 /* Format numbers for various metadata types */ #define GFS2_FORMAT_NONE 0 #define GFS2_FORMAT_SB 100 #define GFS2_FORMAT_RG 200 #define GFS2_FORMAT_RB 300 #define GFS2_FORMAT_DI 400 #define GFS2_FORMAT_IN 500 #define GFS2_FORMAT_LF 600 #define GFS2_FORMAT_JD 700 #define GFS2_FORMAT_LH 800 #define GFS2_FORMAT_LD 900 #define GFS2_FORMAT_LB 1000 #define GFS2_FORMAT_EA 1600 #define GFS2_FORMAT_ED 1700 #define GFS2_FORMAT_QC 1400 /* These are format numbers for entities contained in files */ #define GFS2_FORMAT_RI 1100 #define GFS2_FORMAT_DE 1200 #define GFS2_FORMAT_QU 1500 /* These are part of the superblock */ #define GFS2_FORMAT_FS 1801 #define GFS2_FORMAT_MULTI 1900 /* * An on-disk inode number */ struct gfs2_inum { __be64 no_formal_ino; __be64 no_addr; }; /* * Generic metadata head structure * Every inplace buffer logged in the journal must start with this. */ #define GFS2_METATYPE_NONE 0 #define GFS2_METATYPE_SB 1 #define GFS2_METATYPE_RG 2 #define GFS2_METATYPE_RB 3 #define GFS2_METATYPE_DI 4 #define GFS2_METATYPE_IN 5 #define GFS2_METATYPE_LF 6 #define GFS2_METATYPE_JD 7 #define GFS2_METATYPE_LH 8 #define GFS2_METATYPE_LD 9 #define GFS2_METATYPE_LB 12 #define GFS2_METATYPE_EA 10 #define GFS2_METATYPE_ED 11 #define GFS2_METATYPE_QC 14 struct gfs2_meta_header { __be32 mh_magic; __be32 mh_type; __be64 __pad0; /* Was generation number in gfs1 */ __be32 mh_format; /* This union is to keep userspace happy */ union { __be32 mh_jid; /* Was incarnation number in gfs1 */ __be32 __pad1; }; }; /* * super-block structure * * It's probably good if SIZEOF_SB <= GFS2_BASIC_BLOCK (512 bytes) * * Order is important, need to be able to read old superblocks to do on-disk * version upgrades. */ /* Address of superblock in GFS2 basic blocks */ #define GFS2_SB_ADDR 128 /* The lock number for the superblock (must be zero) */ #define GFS2_SB_LOCK 0 /* Requirement: GFS2_LOCKNAME_LEN % 8 == 0 Includes: the fencing zero at the end */ #define GFS2_LOCKNAME_LEN 64 struct gfs2_sb { struct gfs2_meta_header sb_header; __be32 sb_fs_format; __be32 sb_multihost_format; __u32 __pad0; /* Was superblock flags in gfs1 */ __be32 sb_bsize; __be32 sb_bsize_shift; __u32 __pad1; /* Was journal segment size in gfs1 */ struct gfs2_inum sb_master_dir; /* Was jindex dinode in gfs1 */ struct gfs2_inum __pad2; /* Was rindex dinode in gfs1 */ struct gfs2_inum sb_root_dir; char sb_lockproto[GFS2_LOCKNAME_LEN]; char sb_locktable[GFS2_LOCKNAME_LEN]; struct gfs2_inum __pad3; /* Was quota inode in gfs1 */ struct gfs2_inum __pad4; /* Was licence inode in gfs1 */ #define GFS2_HAS_UUID 1 __u8 sb_uuid[16]; /* The UUID, maybe 0 for backwards compat */ }; /* * resource index structure */ struct gfs2_rindex { __be64 ri_addr; /* grp block disk address */ __be32 ri_length; /* length of rgrp header in fs blocks */ __u32 __pad; __be64 ri_data0; /* first data location */ __be32 ri_data; /* num of data blocks in rgrp */ __be32 ri_bitbytes; /* number of bytes in data bitmaps */ __u8 ri_reserved[64]; }; /* * resource group header structure */ /* Number of blocks per byte in rgrp */ #define GFS2_NBBY 4 #define GFS2_BIT_SIZE 2 #define GFS2_BIT_MASK 0x00000003 #define GFS2_BLKST_FREE 0 #define GFS2_BLKST_USED 1 #define GFS2_BLKST_UNLINKED 2 #define GFS2_BLKST_DINODE 3 #define GFS2_RGF_JOURNAL 0x00000001 #define GFS2_RGF_METAONLY 0x00000002 #define GFS2_RGF_DATAONLY 0x00000004 #define GFS2_RGF_NOALLOC 0x00000008 #define GFS2_RGF_TRIMMED 0x00000010 struct gfs2_rgrp { struct gfs2_meta_header rg_header; __be32 rg_flags; __be32 rg_free; __be32 rg_dinodes; __be32 __pad; __be64 rg_igeneration; __u8 rg_reserved[80]; /* Several fields from gfs1 now reserved */ }; struct gfs2_quota { __be64 qu_limit; __be64 qu_warn; __be64 qu_value; __u8 qu_reserved[64]; }; /* * dinode structure */ #define GFS2_MAX_META_HEIGHT 10 #define GFS2_DIR_MAX_DEPTH 17 #define DT2IF(dt) (((dt) << 12) & S_IFMT) #define IF2DT(sif) (((sif) & S_IFMT) >> 12) enum { gfs2fl_Jdata = 0, gfs2fl_ExHash = 1, gfs2fl_Unused = 2, gfs2fl_EaIndirect = 3, gfs2fl_Directio = 4, gfs2fl_Immutable = 5, gfs2fl_AppendOnly = 6, gfs2fl_NoAtime = 7, gfs2fl_Sync = 8, gfs2fl_System = 9, gfs2fl_TopLevel = 10, gfs2fl_TruncInProg = 29, gfs2fl_InheritDirectio = 30, gfs2fl_InheritJdata = 31, }; /* Dinode flags */ #define GFS2_DIF_JDATA 0x00000001 #define GFS2_DIF_EXHASH 0x00000002 #define GFS2_DIF_UNUSED 0x00000004 /* only in gfs1 */ #define GFS2_DIF_EA_INDIRECT 0x00000008 #define GFS2_DIF_DIRECTIO 0x00000010 #define GFS2_DIF_IMMUTABLE 0x00000020 #define GFS2_DIF_APPENDONLY 0x00000040 #define GFS2_DIF_NOATIME 0x00000080 #define GFS2_DIF_SYNC 0x00000100 #define GFS2_DIF_SYSTEM 0x00000200 /* New in gfs2 */ #define GFS2_DIF_TOPDIR 0x00000400 /* New in gfs2 */ #define GFS2_DIF_TRUNC_IN_PROG 0x20000000 /* New in gfs2 */ #define GFS2_DIF_INHERIT_DIRECTIO 0x40000000 /* only in gfs1 */ #define GFS2_DIF_INHERIT_JDATA 0x80000000 struct gfs2_dinode { struct gfs2_meta_header di_header; struct gfs2_inum di_num; __be32 di_mode; /* mode of file */ __be32 di_uid; /* owner's user id */ __be32 di_gid; /* owner's group id */ __be32 di_nlink; /* number of links to this file */ __be64 di_size; /* number of bytes in file */ __be64 di_blocks; /* number of blocks in file */ __be64 di_atime; /* time last accessed */ __be64 di_mtime; /* time last modified */ __be64 di_ctime; /* time last changed */ __be32 di_major; /* device major number */ __be32 di_minor; /* device minor number */ /* This section varies from gfs1. Padding added to align with * remainder of dinode */ __be64 di_goal_meta; /* rgrp to alloc from next */ __be64 di_goal_data; /* data block goal */ __be64 di_generation; /* generation number for NFS */ __be32 di_flags; /* GFS2_DIF_... */ __be32 di_payload_format; /* GFS2_FORMAT_... */ __u16 __pad1; /* Was ditype in gfs1 */ __be16 di_height; /* height of metadata */ __u32 __pad2; /* Unused incarnation number from gfs1 */ /* These only apply to directories */ __u16 __pad3; /* Padding */ __be16 di_depth; /* Number of bits in the table */ __be32 di_entries; /* The number of entries in the directory */ struct gfs2_inum __pad4; /* Unused even in current gfs1 */ __be64 di_eattr; /* extended attribute block number */ __be32 di_atime_nsec; /* nsec portion of atime */ __be32 di_mtime_nsec; /* nsec portion of mtime */ __be32 di_ctime_nsec; /* nsec portion of ctime */ __u8 di_reserved[44]; }; /* * directory structure - many of these per directory file */ #define GFS2_FNAMESIZE 255 #define GFS2_DIRENT_SIZE(name_len) ((sizeof(struct gfs2_dirent) + (name_len) + 7) & ~7) #define GFS2_MIN_DIRENT_SIZE (GFS2_DIRENT_SIZE(1)) struct gfs2_dirent { struct gfs2_inum de_inum; __be32 de_hash; __be16 de_rec_len; __be16 de_name_len; __be16 de_type; __be16 de_rahead; union { __u8 __pad[12]; struct { __u32 de_cookie; /* ondisk value not used */ __u8 pad3[8]; }; }; }; /* * Header of leaf directory nodes */ struct gfs2_leaf { struct gfs2_meta_header lf_header; __be16 lf_depth; /* Depth of leaf */ __be16 lf_entries; /* Number of dirents in leaf */ __be32 lf_dirent_format; /* Format of the dirents */ __be64 lf_next; /* Next leaf, if overflow */ __u8 lf_reserved[64]; }; /* * Extended attribute header format * * This works in a similar way to dirents. There is a fixed size header * followed by a variable length section made up of the name and the * associated data. In the case of a "stuffed" entry, the value is * __inline__ directly after the name, the ea_num_ptrs entry will be * zero in that case. For non-"stuffed" entries, there will be * a set of pointers (aligned to 8 byte boundary) to the block(s) * containing the value. * * The blocks containing the values and the blocks containing the * extended attribute headers themselves all start with the common * metadata header. Each inode, if it has extended attributes, will * have either a single block containing the extended attribute headers * or a single indirect block pointing to blocks containing the * extended attribure headers. * * The maximim size of the data part of an extended attribute is 64k * so the number of blocks required depends upon block size. Since the * block size also determines the number of pointers in an indirect * block, its a fairly complicated calculation to work out the maximum * number of blocks that an inode may have relating to extended attributes. * */ #define GFS2_EA_MAX_NAME_LEN 255 #define GFS2_EA_MAX_DATA_LEN 65536 #define GFS2_EATYPE_UNUSED 0 #define GFS2_EATYPE_USR 1 #define GFS2_EATYPE_SYS 2 #define GFS2_EATYPE_SECURITY 3 #define GFS2_EATYPE_LAST 3 #define GFS2_EATYPE_VALID(x) ((x) <= GFS2_EATYPE_LAST) #define GFS2_EAFLAG_LAST 0x01 /* last ea in block */ struct gfs2_ea_header { __be32 ea_rec_len; __be32 ea_data_len; __u8 ea_name_len; /* no NULL pointer after the string */ __u8 ea_type; /* GFS2_EATYPE_... */ __u8 ea_flags; /* GFS2_EAFLAG_... */ __u8 ea_num_ptrs; __u32 __pad; }; /* * Log header structure */ #define GFS2_LOG_HEAD_UNMOUNT 0x00000001 /* log is clean */ struct gfs2_log_header { struct gfs2_meta_header lh_header; __be64 lh_sequence; /* Sequence number of this transaction */ __be32 lh_flags; /* GFS2_LOG_HEAD_... */ __be32 lh_tail; /* Block number of log tail */ __be32 lh_blkno; __be32 lh_hash; }; /* * Log type descriptor */ #define GFS2_LOG_DESC_METADATA 300 /* ld_data1 is the number of metadata blocks in the descriptor. ld_data2 is unused. */ #define GFS2_LOG_DESC_REVOKE 301 /* ld_data1 is the number of revoke blocks in the descriptor. ld_data2 is unused. */ #define GFS2_LOG_DESC_JDATA 302 /* ld_data1 is the number of data blocks in the descriptor. ld_data2 is unused. */ struct gfs2_log_descriptor { struct gfs2_meta_header ld_header; __be32 ld_type; /* GFS2_LOG_DESC_... */ __be32 ld_length; /* Number of buffers in this chunk */ __be32 ld_data1; /* descriptor-specific field */ __be32 ld_data2; /* descriptor-specific field */ __u8 ld_reserved[32]; }; /* * Inum Range * Describe a range of formal inode numbers allocated to * one machine to assign to inodes. */ #define GFS2_INUM_QUANTUM 1048576 struct gfs2_inum_range { __be64 ir_start; __be64 ir_length; }; /* * Statfs change * Describes an change to the pool of free and allocated * blocks. */ struct gfs2_statfs_change { __be64 sc_total; __be64 sc_free; __be64 sc_dinodes; }; /* * Quota change * Describes an allocation change for a particular * user or group. */ #define GFS2_QCF_USER 0x00000001 struct gfs2_quota_change { __be64 qc_change; __be32 qc_flags; /* GFS2_QCF_... */ __be32 qc_id; }; struct gfs2_quota_lvb { __be32 qb_magic; __u32 __pad; __be64 qb_limit; /* Hard limit of # blocks to alloc */ __be64 qb_warn; /* Warn user when alloc is above this # */ __be64 qb_value; /* Current # blocks allocated */ }; #endif /* __GFS2_ONDISK_DOT_H__ */
Save
cmd:
run