Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.1.1 & Your IP : 13.59.56.153
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
snap /
certbot /
4557 /
usr /
include /
linux /
Delete
Unzip
Name
Size
Permission
Date
Action
android
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
byteorder
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
caif
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
can
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
cifs
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
dvb
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
genwqe
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
hdlc
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
hsi
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
iio
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
isdn
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
misc
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
mmc
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
netfilter
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
netfilter_arp
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
netfilter_bridge
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
netfilter_ipv4
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
netfilter_ipv6
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
nfsd
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
raid
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
sched
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
spi
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
sunrpc
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
surface_aggregator
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
tc_act
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
tc_ematch
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
usb
[ DIR ]
drwxr-xr-x
2025-04-07 22:13
a.out.h
6.73
KB
-rw-r--r--
2025-03-14 17:48
acct.h
3.82
KB
-rw-r--r--
2025-03-14 17:48
acrn.h
18.51
KB
-rw-r--r--
2025-03-14 17:48
adb.h
1.11
KB
-rw-r--r--
2025-03-14 17:48
adfs_fs.h
993
B
-rw-r--r--
2025-03-14 17:48
affs_hardblocks.h
1.54
KB
-rw-r--r--
2025-03-14 17:48
agpgart.h
3.86
KB
-rw-r--r--
2025-03-14 17:48
aio_abi.h
3.32
KB
-rw-r--r--
2025-03-14 17:48
am437x-vpfe.h
3.59
KB
-rw-r--r--
2025-03-14 17:48
amt.h
1.71
KB
-rw-r--r--
2025-03-14 17:48
apm_bios.h
3.6
KB
-rw-r--r--
2025-03-14 17:48
apparmor.h
3.4
KB
-rw-r--r--
2025-03-14 17:48
arcfb.h
213
B
-rw-r--r--
2025-03-14 17:48
arm_sdei.h
2.69
KB
-rw-r--r--
2025-03-14 17:48
aspeed-lpc-ctrl.h
1.74
KB
-rw-r--r--
2025-03-14 17:48
aspeed-p2a-ctrl.h
1.86
KB
-rw-r--r--
2025-03-14 17:48
aspeed-video.h
389
B
-rw-r--r--
2025-03-14 17:48
atalk.h
1023
B
-rw-r--r--
2025-03-14 17:48
atm.h
7.7
KB
-rw-r--r--
2025-03-14 17:48
atm_eni.h
648
B
-rw-r--r--
2025-03-14 17:48
atm_he.h
406
B
-rw-r--r--
2025-03-14 17:48
atm_idt77105.h
955
B
-rw-r--r--
2025-03-14 17:48
atm_nicstar.h
1.25
KB
-rw-r--r--
2025-03-14 17:48
atm_tcp.h
1.58
KB
-rw-r--r--
2025-03-14 17:48
atm_zatm.h
1.5
KB
-rw-r--r--
2025-03-14 17:48
atmapi.h
952
B
-rw-r--r--
2025-03-14 17:48
atmarp.h
1.27
KB
-rw-r--r--
2025-03-14 17:48
atmbr2684.h
3.2
KB
-rw-r--r--
2025-03-14 17:48
atmclip.h
576
B
-rw-r--r--
2025-03-14 17:48
atmdev.h
7.32
KB
-rw-r--r--
2025-03-14 17:48
atmioc.h
1.61
KB
-rw-r--r--
2025-03-14 17:48
atmlec.h
2.33
KB
-rw-r--r--
2025-03-14 17:48
atmmpc.h
4.13
KB
-rw-r--r--
2025-03-14 17:48
atmppp.h
639
B
-rw-r--r--
2025-03-14 17:48
atmsap.h
4.85
KB
-rw-r--r--
2025-03-14 17:48
atmsvc.h
1.81
KB
-rw-r--r--
2025-03-14 17:48
audit.h
21.2
KB
-rw-r--r--
2025-03-14 17:48
auto_dev-ioctl.h
4.87
KB
-rw-r--r--
2025-03-14 17:48
auto_fs.h
6.28
KB
-rw-r--r--
2025-03-14 17:48
auto_fs4.h
451
B
-rw-r--r--
2025-03-14 17:48
auxvec.h
1.68
KB
-rw-r--r--
2025-03-14 17:48
ax25.h
2.76
KB
-rw-r--r--
2025-03-14 17:48
batadv_packet.h
21.13
KB
-rw-r--r--
2025-03-14 17:48
batman_adv.h
16.49
KB
-rw-r--r--
2025-03-14 17:48
baycom.h
883
B
-rw-r--r--
2025-03-14 17:48
bcm933xx_hcs.h
419
B
-rw-r--r--
2025-03-14 17:48
bfs_fs.h
1.86
KB
-rw-r--r--
2025-03-14 17:48
binfmts.h
776
B
-rw-r--r--
2025-03-14 17:48
blkpg.h
904
B
-rw-r--r--
2025-03-14 17:48
blktrace_api.h
4.59
KB
-rw-r--r--
2025-03-14 17:48
blkzoned.h
6.34
KB
-rw-r--r--
2025-03-14 17:48
bpf.h
268.83
KB
-rw-r--r--
2025-03-14 17:48
bpf_common.h
1.33
KB
-rw-r--r--
2025-03-14 17:48
bpf_perf_event.h
529
B
-rw-r--r--
2025-03-14 17:48
bpqether.h
981
B
-rw-r--r--
2025-03-14 17:48
bsg.h
2.44
KB
-rw-r--r--
2025-03-14 17:48
bt-bmc.h
572
B
-rw-r--r--
2025-03-14 17:48
btf.h
5.46
KB
-rw-r--r--
2025-03-14 17:48
btrfs.h
36.28
KB
-rw-r--r--
2025-03-14 17:48
btrfs_tree.h
34.77
KB
-rw-r--r--
2025-03-14 17:48
cachefiles.h
1.61
KB
-rw-r--r--
2025-03-14 17:48
can.h
10.95
KB
-rw-r--r--
2025-03-14 17:48
capability.h
13.21
KB
-rw-r--r--
2025-03-14 17:48
capi.h
3.05
KB
-rw-r--r--
2025-03-14 17:48
cciss_defs.h
3.2
KB
-rw-r--r--
2025-03-14 17:48
cciss_ioctl.h
2.7
KB
-rw-r--r--
2025-03-14 17:48
ccs.h
767
B
-rw-r--r--
2025-03-14 17:48
cdrom.h
28.87
KB
-rw-r--r--
2025-03-14 17:48
cec-funcs.h
53.14
KB
-rw-r--r--
2025-03-14 17:48
cec.h
41.17
KB
-rw-r--r--
2025-03-14 17:48
cfm_bridge.h
1.42
KB
-rw-r--r--
2025-03-14 17:48
cgroupstats.h
2.06
KB
-rw-r--r--
2025-03-14 17:48
chio.h
5.16
KB
-rw-r--r--
2025-03-14 17:48
close_range.h
377
B
-rw-r--r--
2025-03-14 17:48
cn_proc.h
4.06
KB
-rw-r--r--
2025-03-14 17:48
coda.h
17.79
KB
-rw-r--r--
2025-03-14 17:48
coff.h
12.25
KB
-rw-r--r--
2025-03-14 17:48
comedi.h
54.18
KB
-rw-r--r--
2025-03-14 17:48
connector.h
2.2
KB
-rw-r--r--
2025-03-14 17:48
const.h
991
B
-rw-r--r--
2025-03-14 17:48
coresight-stm.h
747
B
-rw-r--r--
2025-03-14 17:48
counter.h
4.77
KB
-rw-r--r--
2025-03-14 17:48
cramfs_fs.h
3.47
KB
-rw-r--r--
2025-03-14 17:48
cryptouser.h
5.2
KB
-rw-r--r--
2025-03-14 17:48
cuda.h
905
B
-rw-r--r--
2025-03-14 17:48
cxl_mem.h
7.8
KB
-rw-r--r--
2025-03-14 17:48
cyclades.h
969
B
-rw-r--r--
2025-03-14 17:48
cycx_cfm.h
2.92
KB
-rw-r--r--
2025-03-14 17:48
dcbnl.h
24.97
KB
-rw-r--r--
2025-03-14 17:48
dccp.h
6.29
KB
-rw-r--r--
2025-03-14 17:48
devlink.h
22.17
KB
-rw-r--r--
2025-03-14 17:48
dlm.h
2.52
KB
-rw-r--r--
2025-03-14 17:48
dlm_device.h
2.48
KB
-rw-r--r--
2025-03-14 17:48
dlm_plock.h
916
B
-rw-r--r--
2025-03-14 17:48
dlmconstants.h
4.97
KB
-rw-r--r--
2025-03-14 17:48
dm-ioctl.h
11.33
KB
-rw-r--r--
2025-03-14 17:48
dm-log-userspace.h
14.83
KB
-rw-r--r--
2025-03-14 17:48
dma-buf.h
7.15
KB
-rw-r--r--
2025-03-14 17:48
dma-heap.h
1.36
KB
-rw-r--r--
2025-03-14 17:48
dns_resolver.h
3.86
KB
-rw-r--r--
2025-03-14 17:48
dpll.h
5.75
KB
-rw-r--r--
2025-03-14 17:48
dqblk_xfs.h
9.17
KB
-rw-r--r--
2025-03-14 17:48
dw100.h
357
B
-rw-r--r--
2025-03-14 17:48
edd.h
5.47
KB
-rw-r--r--
2025-03-14 17:48
efs_fs_sb.h
2.17
KB
-rw-r--r--
2025-03-14 17:48
elf-em.h
2.57
KB
-rw-r--r--
2025-03-14 17:48
elf-fdpic.h
1.58
KB
-rw-r--r--
2025-03-14 17:48
elf.h
15.13
KB
-rw-r--r--
2025-03-14 17:48
errno.h
23
B
-rw-r--r--
2025-03-14 17:48
errqueue.h
1.94
KB
-rw-r--r--
2025-03-14 17:48
erspan.h
1.03
KB
-rw-r--r--
2025-03-14 17:48
ethtool.h
86.73
KB
-rw-r--r--
2025-03-14 17:48
ethtool_netlink.h
26.38
KB
-rw-r--r--
2025-03-14 17:48
eventfd.h
264
B
-rw-r--r--
2025-03-14 17:48
eventpoll.h
2.53
KB
-rw-r--r--
2025-03-14 17:48
ext4.h
4.03
KB
-rw-r--r--
2025-03-14 17:48
f2fs.h
3.28
KB
-rw-r--r--
2025-03-14 17:48
fadvise.h
842
B
-rw-r--r--
2025-03-14 17:48
falloc.h
3.5
KB
-rw-r--r--
2025-03-14 17:48
fanotify.h
8.1
KB
-rw-r--r--
2025-03-14 17:48
fb.h
16.09
KB
-rw-r--r--
2025-03-14 17:48
fcntl.h
4.44
KB
-rw-r--r--
2025-03-14 17:48
fd.h
11.83
KB
-rw-r--r--
2025-03-14 17:48
fdreg.h
5.24
KB
-rw-r--r--
2025-03-14 17:48
fib_rules.h
1.99
KB
-rw-r--r--
2025-03-14 17:48
fiemap.h
2.71
KB
-rw-r--r--
2025-03-14 17:48
filter.h
2.16
KB
-rw-r--r--
2025-03-14 17:48
firewire-cdev.h
49.53
KB
-rw-r--r--
2025-03-14 17:48
firewire-constants.h
3.16
KB
-rw-r--r--
2025-03-14 17:48
fou.h
819
B
-rw-r--r--
2025-03-14 17:48
fpga-dfl.h
8.52
KB
-rw-r--r--
2025-03-14 17:48
fs.h
13.94
KB
-rw-r--r--
2025-03-14 17:48
fscrypt.h
6.44
KB
-rw-r--r--
2025-03-14 17:48
fsi.h
3.02
KB
-rw-r--r--
2025-03-14 17:48
fsl_hypervisor.h
7.13
KB
-rw-r--r--
2025-03-14 17:48
fsl_mc.h
734
B
-rw-r--r--
2025-03-14 17:48
fsmap.h
4.3
KB
-rw-r--r--
2025-03-14 17:48
fsverity.h
3.11
KB
-rw-r--r--
2025-03-14 17:48
fuse.h
27.04
KB
-rw-r--r--
2025-03-14 17:48
futex.h
5.98
KB
-rw-r--r--
2025-03-14 17:48
gameport.h
897
B
-rw-r--r--
2025-03-14 17:48
gen_stats.h
1.49
KB
-rw-r--r--
2025-03-14 17:48
genetlink.h
2.19
KB
-rw-r--r--
2025-03-14 17:48
gfs2_ondisk.h
14.43
KB
-rw-r--r--
2025-03-14 17:48
gpio.h
19.46
KB
-rw-r--r--
2025-03-14 17:48
gsmmux.h
4.4
KB
-rw-r--r--
2025-03-14 17:48
gtp.h
734
B
-rw-r--r--
2025-03-14 17:48
handshake.h
1.61
KB
-rw-r--r--
2025-03-14 17:48
hash_info.h
1.01
KB
-rw-r--r--
2025-03-14 17:48
hdlc.h
637
B
-rw-r--r--
2025-03-14 17:48
hdlcdrv.h
2.84
KB
-rw-r--r--
2025-03-14 17:48
hdreg.h
22.17
KB
-rw-r--r--
2025-03-14 17:48
hid.h
2.04
KB
-rw-r--r--
2025-03-14 17:48
hiddev.h
6.2
KB
-rw-r--r--
2025-03-14 17:48
hidraw.h
1.95
KB
-rw-r--r--
2025-03-14 17:48
hpet.h
743
B
-rw-r--r--
2025-03-14 17:48
hsr_netlink.h
1.08
KB
-rw-r--r--
2025-03-14 17:48
hw_breakpoint.h
605
B
-rw-r--r--
2025-03-14 17:48
hyperv.h
10.89
KB
-rw-r--r--
2025-03-14 17:48
i2c-dev.h
1.83
KB
-rw-r--r--
2025-03-14 17:48
i2c.h
6.73
KB
-rw-r--r--
2025-03-14 17:48
i2o-dev.h
11.28
KB
-rw-r--r--
2025-03-14 17:48
i8k.h
1.49
KB
-rw-r--r--
2025-03-14 17:48
icmp.h
4.67
KB
-rw-r--r--
2025-03-14 17:48
icmpv6.h
4.17
KB
-rw-r--r--
2025-03-14 17:48
idxd.h
9.11
KB
-rw-r--r--
2025-03-14 17:48
if.h
10.67
KB
-rw-r--r--
2025-03-14 17:48
if_addr.h
2.09
KB
-rw-r--r--
2025-03-14 17:48
if_addrlabel.h
721
B
-rw-r--r--
2025-03-14 17:48
if_alg.h
1.56
KB
-rw-r--r--
2025-03-14 17:48
if_arcnet.h
3.63
KB
-rw-r--r--
2025-03-14 17:48
if_arp.h
6.43
KB
-rw-r--r--
2025-03-14 17:48
if_bonding.h
5.02
KB
-rw-r--r--
2025-03-14 17:48
if_bridge.h
20.18
KB
-rw-r--r--
2025-03-14 17:48
if_cablemodem.h
986
B
-rw-r--r--
2025-03-14 17:48
if_eql.h
1.32
KB
-rw-r--r--
2025-03-14 17:48
if_ether.h
8.56
KB
-rw-r--r--
2025-03-14 17:48
if_fc.h
1.7
KB
-rw-r--r--
2025-03-14 17:48
if_fddi.h
4.27
KB
-rw-r--r--
2025-03-14 17:48
if_hippi.h
4.14
KB
-rw-r--r--
2025-03-14 17:48
if_infiniband.h
1.22
KB
-rw-r--r--
2025-03-14 17:48
if_link.h
54.49
KB
-rw-r--r--
2025-03-14 17:48
if_ltalk.h
210
B
-rw-r--r--
2025-03-14 17:48
if_macsec.h
6.35
KB
-rw-r--r--
2025-03-14 17:48
if_packet.h
8.07
KB
-rw-r--r--
2025-03-14 17:48
if_phonet.h
424
B
-rw-r--r--
2025-03-14 17:48
if_plip.h
660
B
-rw-r--r--
2025-03-14 17:48
if_ppp.h
29
B
-rw-r--r--
2025-03-14 17:48
if_pppol2tp.h
3.23
KB
-rw-r--r--
2025-03-14 17:48
if_pppox.h
4.76
KB
-rw-r--r--
2025-03-14 17:48
if_slip.h
872
B
-rw-r--r--
2025-03-14 17:48
if_team.h
2.54
KB
-rw-r--r--
2025-03-14 17:48
if_tun.h
4.21
KB
-rw-r--r--
2025-03-14 17:48
if_tunnel.h
4.79
KB
-rw-r--r--
2025-03-14 17:48
if_vlan.h
1.79
KB
-rw-r--r--
2025-03-14 17:48
if_x25.h
881
B
-rw-r--r--
2025-03-14 17:48
if_xdp.h
4.89
KB
-rw-r--r--
2025-03-14 17:48
ife.h
351
B
-rw-r--r--
2025-03-14 17:48
igmp.h
2.99
KB
-rw-r--r--
2025-03-14 17:48
ila.h
1.22
KB
-rw-r--r--
2025-03-14 17:48
in.h
10.61
KB
-rw-r--r--
2025-03-14 17:48
in6.h
7.4
KB
-rw-r--r--
2025-03-14 17:48
in_route.h
936
B
-rw-r--r--
2025-03-14 17:48
inet_diag.h
4.9
KB
-rw-r--r--
2025-03-14 17:48
inotify.h
3.21
KB
-rw-r--r--
2025-03-14 17:48
input-event-codes.h
29.5
KB
-rw-r--r--
2025-03-14 17:48
input.h
15.84
KB
-rw-r--r--
2025-03-14 17:48
io_uring.h
19.26
KB
-rw-r--r--
2025-03-14 17:48
ioam6.h
2.33
KB
-rw-r--r--
2025-03-14 17:48
ioam6_genl.h
945
B
-rw-r--r--
2025-03-14 17:48
ioam6_iptunnel.h
1.26
KB
-rw-r--r--
2025-03-14 17:48
ioctl.h
163
B
-rw-r--r--
2025-03-14 17:48
iommu.h
4.79
KB
-rw-r--r--
2025-03-14 17:48
iommufd.h
24.52
KB
-rw-r--r--
2025-03-14 17:48
ioprio.h
4.08
KB
-rw-r--r--
2025-03-14 17:48
ip.h
4.73
KB
-rw-r--r--
2025-03-14 17:48
ip6_tunnel.h
1.91
KB
-rw-r--r--
2025-03-14 17:48
ip_vs.h
13.8
KB
-rw-r--r--
2025-03-14 17:48
ipc.h
2.05
KB
-rw-r--r--
2025-03-14 17:48
ipmi.h
15.08
KB
-rw-r--r--
2025-03-14 17:48
ipmi_bmc.h
488
B
-rw-r--r--
2025-03-14 17:48
ipmi_msgdefs.h
3.35
KB
-rw-r--r--
2025-03-14 17:48
ipmi_ssif_bmc.h
441
B
-rw-r--r--
2025-03-14 17:48
ipsec.h
947
B
-rw-r--r--
2025-03-14 17:48
ipv6.h
4.22
KB
-rw-r--r--
2025-03-14 17:48
ipv6_route.h
1.86
KB
-rw-r--r--
2025-03-14 17:48
irqnr.h
104
B
-rw-r--r--
2025-03-14 17:48
iso_fs.h
6.33
KB
-rw-r--r--
2025-03-14 17:48
isst_if.h
14.92
KB
-rw-r--r--
2025-03-14 17:48
ivtv.h
2.95
KB
-rw-r--r--
2025-03-14 17:48
ivtvfb.h
1.18
KB
-rw-r--r--
2025-03-14 17:48
jffs2.h
6.65
KB
-rw-r--r--
2025-03-14 17:48
joystick.h
3.35
KB
-rw-r--r--
2025-03-14 17:48
kcm.h
822
B
-rw-r--r--
2025-03-14 17:48
kcmp.h
522
B
-rw-r--r--
2025-03-14 17:48
kcov.h
1.92
KB
-rw-r--r--
2025-03-14 17:48
kd.h
6.3
KB
-rw-r--r--
2025-03-14 17:48
kdev_t.h
383
B
-rw-r--r--
2025-03-14 17:48
kernel-page-flags.h
900
B
-rw-r--r--
2025-03-14 17:48
kernel.h
194
B
-rw-r--r--
2025-03-14 17:48
kernelcapi.h
1019
B
-rw-r--r--
2025-03-14 17:48
kexec.h
2
KB
-rw-r--r--
2025-03-14 17:48
keyboard.h
13.14
KB
-rw-r--r--
2025-03-14 17:48
keyctl.h
5.86
KB
-rw-r--r--
2025-03-14 17:48
kfd_ioctl.h
52.69
KB
-rw-r--r--
2025-03-14 17:48
kfd_sysfs.h
5.01
KB
-rw-r--r--
2025-03-14 17:48
kvm.h
62.15
KB
-rw-r--r--
2025-03-14 17:48
kvm_para.h
1001
B
-rw-r--r--
2025-03-14 17:48
l2tp.h
5.61
KB
-rw-r--r--
2025-03-14 17:48
landlock.h
9.08
KB
-rw-r--r--
2025-03-14 17:48
libc-compat.h
8.09
KB
-rw-r--r--
2025-03-14 17:48
limits.h
937
B
-rw-r--r--
2025-03-14 17:48
lirc.h
8.13
KB
-rw-r--r--
2025-03-14 17:48
llc.h
3.09
KB
-rw-r--r--
2025-03-14 17:48
loadpin.h
834
B
-rw-r--r--
2025-03-14 17:48
loop.h
3.32
KB
-rw-r--r--
2025-03-14 17:48
lp.h
4.09
KB
-rw-r--r--
2025-03-14 17:48
lsm.h
2.5
KB
-rw-r--r--
2025-03-14 17:48
lwtunnel.h
2.31
KB
-rw-r--r--
2025-03-14 17:48
magic.h
3.77
KB
-rw-r--r--
2025-03-14 17:48
major.h
4.55
KB
-rw-r--r--
2025-03-14 17:48
map_to_14segment.h
9.28
KB
-rw-r--r--
2025-03-14 17:48
map_to_7segment.h
6.45
KB
-rw-r--r--
2025-03-14 17:48
matroxfb.h
1.43
KB
-rw-r--r--
2025-03-14 17:48
max2175.h
1.01
KB
-rw-r--r--
2025-03-14 17:48
mctp.h
1.45
KB
-rw-r--r--
2025-03-14 17:48
mdio.h
23.54
KB
-rw-r--r--
2025-03-14 17:48
media-bus-format.h
7.15
KB
-rw-r--r--
2025-03-14 17:48
media.h
12.46
KB
-rw-r--r--
2025-03-14 17:48
mei.h
3.39
KB
-rw-r--r--
2025-03-14 17:48
mei_uuid.h
738
B
-rw-r--r--
2025-03-14 17:48
membarrier.h
9.34
KB
-rw-r--r--
2025-03-14 17:48
memfd.h
1.43
KB
-rw-r--r--
2025-03-14 17:48
mempolicy.h
2.51
KB
-rw-r--r--
2025-03-14 17:48
mii.h
9.27
KB
-rw-r--r--
2025-03-14 17:48
minix_fs.h
2.07
KB
-rw-r--r--
2025-03-14 17:48
mman.h
1.75
KB
-rw-r--r--
2025-03-14 17:48
mmtimer.h
2.07
KB
-rw-r--r--
2025-03-14 17:48
module.h
293
B
-rw-r--r--
2025-03-14 17:48
mount.h
7.75
KB
-rw-r--r--
2025-03-14 17:48
mpls.h
2.25
KB
-rw-r--r--
2025-03-14 17:48
mpls_iptunnel.h
761
B
-rw-r--r--
2025-03-14 17:48
mptcp.h
3.67
KB
-rw-r--r--
2025-03-14 17:48
mptcp_pm.h
4.3
KB
-rw-r--r--
2025-03-14 17:48
mqueue.h
2.15
KB
-rw-r--r--
2025-03-14 17:48
mroute.h
5.78
KB
-rw-r--r--
2025-03-14 17:48
mroute6.h
4.89
KB
-rw-r--r--
2025-03-14 17:48
mrp_bridge.h
1.67
KB
-rw-r--r--
2025-03-14 17:48
msdos_fs.h
6.57
KB
-rw-r--r--
2025-03-14 17:48
msg.h
3.31
KB
-rw-r--r--
2025-03-14 17:48
mtio.h
7.98
KB
-rw-r--r--
2025-03-14 17:48
nbd-netlink.h
2.35
KB
-rw-r--r--
2025-03-14 17:48
nbd.h
3.53
KB
-rw-r--r--
2025-03-14 17:48
ncsi.h
4.71
KB
-rw-r--r--
2025-03-14 17:48
ndctl.h
6.66
KB
-rw-r--r--
2025-03-14 17:48
neighbour.h
5.96
KB
-rw-r--r--
2025-03-14 17:48
net.h
2.04
KB
-rw-r--r--
2025-03-14 17:48
net_dropmon.h
2.85
KB
-rw-r--r--
2025-03-14 17:48
net_namespace.h
715
B
-rw-r--r--
2025-03-14 17:48
net_tstamp.h
5.97
KB
-rw-r--r--
2025-03-14 17:48
netconf.h
614
B
-rw-r--r--
2025-03-14 17:48
netdev.h
4.23
KB
-rw-r--r--
2025-03-14 17:48
netdevice.h
2.2
KB
-rw-r--r--
2025-03-14 17:48
netfilter.h
1.69
KB
-rw-r--r--
2025-03-14 17:48
netfilter_arp.h
445
B
-rw-r--r--
2025-03-14 17:48
netfilter_bridge.h
1.14
KB
-rw-r--r--
2025-03-14 17:48
netfilter_ipv4.h
1.45
KB
-rw-r--r--
2025-03-14 17:48
netfilter_ipv6.h
1.35
KB
-rw-r--r--
2025-03-14 17:48
netlink.h
12.1
KB
-rw-r--r--
2025-03-14 17:48
netlink_diag.h
1.49
KB
-rw-r--r--
2025-03-14 17:48
netrom.h
807
B
-rw-r--r--
2025-03-14 17:48
nexthop.h
2.76
KB
-rw-r--r--
2025-03-14 17:48
nfc.h
10.97
KB
-rw-r--r--
2025-03-14 17:48
nfs.h
4.39
KB
-rw-r--r--
2025-03-14 17:48
nfs2.h
1.43
KB
-rw-r--r--
2025-03-14 17:48
nfs3.h
2.4
KB
-rw-r--r--
2025-03-14 17:48
nfs4.h
6.39
KB
-rw-r--r--
2025-03-14 17:48
nfs4_mount.h
1.89
KB
-rw-r--r--
2025-03-14 17:48
nfs_fs.h
1.62
KB
-rw-r--r--
2025-03-14 17:48
nfs_idmap.h
2.19
KB
-rw-r--r--
2025-03-14 17:48
nfs_mount.h
2.09
KB
-rw-r--r--
2025-03-14 17:48
nfsacl.h
718
B
-rw-r--r--
2025-03-14 17:48
nfsd_netlink.h
933
B
-rw-r--r--
2025-03-14 17:48
nilfs2_api.h
7.41
KB
-rw-r--r--
2025-03-14 17:48
nilfs2_ondisk.h
17.66
KB
-rw-r--r--
2025-03-14 17:48
nitro_enclaves.h
12.85
KB
-rw-r--r--
2025-03-14 17:48
nl80211-vnd-intel.h
4.49
KB
-rw-r--r--
2025-03-14 17:48
nl80211.h
334.96
KB
-rw-r--r--
2025-03-14 17:48
npcm-video.h
1.19
KB
-rw-r--r--
2025-03-14 17:48
nsfs.h
639
B
-rw-r--r--
2025-03-14 17:48
nsm.h
740
B
-rw-r--r--
2025-03-14 17:48
nubus.h
8
KB
-rw-r--r--
2025-03-14 17:48
nvme_ioctl.h
2.43
KB
-rw-r--r--
2025-03-14 17:48
nvram.h
532
B
-rw-r--r--
2025-03-14 17:48
omap3isp.h
20.45
KB
-rw-r--r--
2025-03-14 17:48
omapfb.h
5.78
KB
-rw-r--r--
2025-03-14 17:48
oom.h
511
B
-rw-r--r--
2025-03-14 17:48
openat2.h
1.42
KB
-rw-r--r--
2025-03-14 17:48
openvswitch.h
40.05
KB
-rw-r--r--
2025-03-14 17:48
packet_diag.h
1.63
KB
-rw-r--r--
2025-03-14 17:48
param.h
141
B
-rw-r--r--
2025-03-14 17:48
parport.h
3.75
KB
-rw-r--r--
2025-03-14 17:48
patchkey.h
892
B
-rw-r--r--
2025-03-14 17:48
pci.h
1.35
KB
-rw-r--r--
2025-03-14 17:48
pci_regs.h
60.36
KB
-rw-r--r--
2025-03-14 17:48
pcitest.h
920
B
-rw-r--r--
2025-03-14 17:48
perf_event.h
42.28
KB
-rw-r--r--
2025-03-14 17:48
personality.h
2.05
KB
-rw-r--r--
2025-03-14 17:48
pfkeyv2.h
10.39
KB
-rw-r--r--
2025-03-14 17:48
pfrut.h
7.8
KB
-rw-r--r--
2025-03-14 17:48
pg.h
2.34
KB
-rw-r--r--
2025-03-14 17:48
phantom.h
1.62
KB
-rw-r--r--
2025-03-14 17:48
phonet.h
4.57
KB
-rw-r--r--
2025-03-14 17:48
pidfd.h
256
B
-rw-r--r--
2025-03-14 17:48
pkt_cls.h
18.15
KB
-rw-r--r--
2025-03-14 17:48
pkt_sched.h
28.66
KB
-rw-r--r--
2025-03-14 17:48
pktcdvd.h
2.35
KB
-rw-r--r--
2025-03-14 17:48
pmu.h
5.32
KB
-rw-r--r--
2025-03-14 17:48
poll.h
22
B
-rw-r--r--
2025-03-14 17:48
posix_acl.h
1.22
KB
-rw-r--r--
2025-03-14 17:48
posix_acl_xattr.h
1.09
KB
-rw-r--r--
2025-03-14 17:48
posix_types.h
1.07
KB
-rw-r--r--
2025-03-14 17:48
ppdev.h
3.21
KB
-rw-r--r--
2025-03-14 17:48
ppp-comp.h
2.47
KB
-rw-r--r--
2025-03-14 17:48
ppp-ioctl.h
5.59
KB
-rw-r--r--
2025-03-14 17:48
ppp_defs.h
5.43
KB
-rw-r--r--
2025-03-14 17:48
pps.h
4.62
KB
-rw-r--r--
2025-03-14 17:48
pr.h
1.59
KB
-rw-r--r--
2025-03-14 17:48
prctl.h
10.42
KB
-rw-r--r--
2025-03-14 17:48
psample.h
2.22
KB
-rw-r--r--
2025-03-14 17:48
psci.h
5.02
KB
-rw-r--r--
2025-03-14 17:48
psp-dbc.h
5.16
KB
-rw-r--r--
2025-03-14 17:48
psp-sev.h
4.39
KB
-rw-r--r--
2025-03-14 17:48
ptp_clock.h
7.46
KB
-rw-r--r--
2025-03-14 17:48
ptrace.h
5.37
KB
-rw-r--r--
2025-03-14 17:48
qemu_fw_cfg.h
2.41
KB
-rw-r--r--
2025-03-14 17:48
qnx4_fs.h
2.27
KB
-rw-r--r--
2025-03-14 17:48
qnxtypes.h
624
B
-rw-r--r--
2025-03-14 17:48
qrtr.h
893
B
-rw-r--r--
2025-03-14 17:48
quota.h
6.16
KB
-rw-r--r--
2025-03-14 17:48
radeonfb.h
360
B
-rw-r--r--
2025-03-14 17:48
random.h
1.38
KB
-rw-r--r--
2025-03-14 17:48
rds.h
10.91
KB
-rw-r--r--
2025-03-14 17:48
reboot.h
1.31
KB
-rw-r--r--
2025-03-14 17:48
reiserfs_fs.h
775
B
-rw-r--r--
2025-03-14 17:48
reiserfs_xattr.h
542
B
-rw-r--r--
2025-03-14 17:48
remoteproc_cdev.h
1.08
KB
-rw-r--r--
2025-03-14 17:48
resource.h
2.53
KB
-rw-r--r--
2025-03-14 17:48
rfkill.h
5.96
KB
-rw-r--r--
2025-03-14 17:48
rio_cm_cdev.h
3.17
KB
-rw-r--r--
2025-03-14 17:48
rio_mport_cdev.h
9.11
KB
-rw-r--r--
2025-03-14 17:48
rkisp1-config.h
33.39
KB
-rw-r--r--
2025-03-14 17:48
romfs_fs.h
1.21
KB
-rw-r--r--
2025-03-14 17:48
rose.h
2.18
KB
-rw-r--r--
2025-03-14 17:48
route.h
2.28
KB
-rw-r--r--
2025-03-14 17:48
rpl.h
854
B
-rw-r--r--
2025-03-14 17:48
rpl_iptunnel.h
424
B
-rw-r--r--
2025-03-14 17:48
rpmsg.h
1.29
KB
-rw-r--r--
2025-03-14 17:48
rpmsg_types.h
288
B
-rw-r--r--
2025-03-14 17:48
rseq.h
5.32
KB
-rw-r--r--
2025-03-14 17:48
rtc.h
5.19
KB
-rw-r--r--
2025-03-14 17:48
rtnetlink.h
20.85
KB
-rw-r--r--
2025-03-14 17:48
rxrpc.h
4.81
KB
-rw-r--r--
2025-03-14 17:48
scc.h
4.52
KB
-rw-r--r--
2025-03-14 17:48
sched.h
6.12
KB
-rw-r--r--
2025-03-14 17:48
scif_ioctl.h
6.23
KB
-rw-r--r--
2025-03-14 17:48
screen_info.h
2.42
KB
-rw-r--r--
2025-03-14 17:48
sctp.h
35.17
KB
-rw-r--r--
2025-03-14 17:48
seccomp.h
5.85
KB
-rw-r--r--
2025-03-14 17:48
securebits.h
2.64
KB
-rw-r--r--
2025-03-14 17:48
sed-opal.h
5.22
KB
-rw-r--r--
2025-03-14 17:48
seg6.h
1.14
KB
-rw-r--r--
2025-03-14 17:48
seg6_genl.h
589
B
-rw-r--r--
2025-03-14 17:48
seg6_hmac.h
423
B
-rw-r--r--
2025-03-14 17:48
seg6_iptunnel.h
983
B
-rw-r--r--
2025-03-14 17:48
seg6_local.h
3.78
KB
-rw-r--r--
2025-03-14 17:48
selinux_netlink.h
1.17
KB
-rw-r--r--
2025-03-14 17:48
sem.h
2.98
KB
-rw-r--r--
2025-03-14 17:48
serial.h
5.12
KB
-rw-r--r--
2025-03-14 17:48
serial_core.h
4.93
KB
-rw-r--r--
2025-03-14 17:48
serial_reg.h
15.65
KB
-rw-r--r--
2025-03-14 17:48
serio.h
2.05
KB
-rw-r--r--
2025-03-14 17:48
sev-guest.h
2.31
KB
-rw-r--r--
2025-03-14 17:48
shm.h
3.71
KB
-rw-r--r--
2025-03-14 17:48
signal.h
388
B
-rw-r--r--
2025-03-14 17:48
signalfd.h
1.2
KB
-rw-r--r--
2025-03-14 17:48
smc.h
8.46
KB
-rw-r--r--
2025-03-14 17:48
smc_diag.h
2.88
KB
-rw-r--r--
2025-03-14 17:48
smiapp.h
1.03
KB
-rw-r--r--
2025-03-14 17:48
snmp.h
14.19
KB
-rw-r--r--
2025-03-14 17:48
sock_diag.h
1.27
KB
-rw-r--r--
2025-03-14 17:48
socket.h
1.02
KB
-rw-r--r--
2025-03-14 17:48
sockios.h
6.69
KB
-rw-r--r--
2025-03-14 17:48
sonet.h
2.24
KB
-rw-r--r--
2025-03-14 17:48
sonypi.h
5.18
KB
-rw-r--r--
2025-03-14 17:48
sound.h
1.21
KB
-rw-r--r--
2025-03-14 17:48
soundcard.h
44.97
KB
-rw-r--r--
2025-03-14 17:48
stat.h
6.84
KB
-rw-r--r--
2025-03-14 17:48
stddef.h
1.74
KB
-rw-r--r--
2025-03-14 17:48
stm.h
1.24
KB
-rw-r--r--
2025-03-14 17:48
string.h
238
B
-rw-r--r--
2025-03-14 17:48
suspend_ioctls.h
1.4
KB
-rw-r--r--
2025-03-14 17:48
swab.h
6.78
KB
-rw-r--r--
2025-03-14 17:48
switchtec_ioctl.h
5.14
KB
-rw-r--r--
2025-03-14 17:48
sync_file.h
3.37
KB
-rw-r--r--
2025-03-14 17:48
synclink.h
8.77
KB
-rw-r--r--
2025-03-14 17:48
sysctl.h
25.42
KB
-rw-r--r--
2025-03-14 17:48
sysinfo.h
1.02
KB
-rw-r--r--
2025-03-14 17:48
target_core_user.h
4.54
KB
-rw-r--r--
2025-03-14 17:48
taskstats.h
8.13
KB
-rw-r--r--
2025-03-14 17:48
tcp.h
16.62
KB
-rw-r--r--
2025-03-14 17:48
tcp_metrics.h
1.51
KB
-rw-r--r--
2025-03-14 17:48
tdx-guest.h
1.27
KB
-rw-r--r--
2025-03-14 17:48
tee.h
13.09
KB
-rw-r--r--
2025-03-14 17:48
termios.h
172
B
-rw-r--r--
2025-03-14 17:48
thermal.h
3.23
KB
-rw-r--r--
2025-03-14 17:48
thp7312.h
659
B
-rw-r--r--
2025-03-14 17:48
time.h
1.71
KB
-rw-r--r--
2025-03-14 17:48
time_types.h
1.24
KB
-rw-r--r--
2025-03-14 17:48
timerfd.h
936
B
-rw-r--r--
2025-03-14 17:48
times.h
278
B
-rw-r--r--
2025-03-14 17:48
timex.h
7.63
KB
-rw-r--r--
2025-03-14 17:48
tiocl.h
1.69
KB
-rw-r--r--
2025-03-14 17:48
tipc.h
8.62
KB
-rw-r--r--
2025-03-14 17:48
tipc_config.h
14.57
KB
-rw-r--r--
2025-03-14 17:48
tipc_netlink.h
9.17
KB
-rw-r--r--
2025-03-14 17:48
tipc_sockets_diag.h
468
B
-rw-r--r--
2025-03-14 17:48
tls.h
7.06
KB
-rw-r--r--
2025-03-14 17:48
toshiba.h
1.88
KB
-rw-r--r--
2025-03-14 17:48
tps6594_pfsm.h
1.13
KB
-rw-r--r--
2025-03-14 17:48
tty.h
1.74
KB
-rw-r--r--
2025-03-14 17:48
tty_flags.h
4.4
KB
-rw-r--r--
2025-03-14 17:48
types.h
1.73
KB
-rw-r--r--
2025-03-14 17:48
ublk_cmd.h
11.69
KB
-rw-r--r--
2025-03-14 17:48
udf_fs_i.h
697
B
-rw-r--r--
2025-03-14 17:48
udmabuf.h
643
B
-rw-r--r--
2025-03-14 17:48
udp.h
1.65
KB
-rw-r--r--
2025-03-14 17:48
uhid.h
4.54
KB
-rw-r--r--
2025-03-14 17:48
uinput.h
9.04
KB
-rw-r--r--
2025-03-14 17:48
uio.h
732
B
-rw-r--r--
2025-03-14 17:48
uleds.h
798
B
-rw-r--r--
2025-03-14 17:48
ultrasound.h
4.46
KB
-rw-r--r--
2025-03-14 17:48
um_timetravel.h
3.87
KB
-rw-r--r--
2025-03-14 17:48
un.h
384
B
-rw-r--r--
2025-03-14 17:48
unistd.h
220
B
-rw-r--r--
2025-03-14 17:48
unix_diag.h
1.3
KB
-rw-r--r--
2025-03-14 17:48
usbdevice_fs.h
8.12
KB
-rw-r--r--
2025-03-14 17:48
usbip.h
1.47
KB
-rw-r--r--
2025-03-14 17:48
user_events.h
2.29
KB
-rw-r--r--
2025-03-14 17:48
userfaultfd.h
11.74
KB
-rw-r--r--
2025-03-14 17:48
userio.h
1.48
KB
-rw-r--r--
2025-03-14 17:48
utime.h
223
B
-rw-r--r--
2025-03-14 17:48
utsname.h
669
B
-rw-r--r--
2025-03-14 17:48
uuid.h
28
B
-rw-r--r--
2025-03-14 17:48
uvcvideo.h
2.57
KB
-rw-r--r--
2025-03-14 17:48
v4l2-common.h
2.01
KB
-rw-r--r--
2025-03-14 17:48
v4l2-controls.h
145.84
KB
-rw-r--r--
2025-03-14 17:48
v4l2-dv-timings.h
30.39
KB
-rw-r--r--
2025-03-14 17:48
v4l2-mediabus.h
5.11
KB
-rw-r--r--
2025-03-14 17:48
v4l2-subdev.h
9.77
KB
-rw-r--r--
2025-03-14 17:48
vbox_err.h
7.09
KB
-rw-r--r--
2025-03-14 17:48
vbox_vmmdev_types.h
11.38
KB
-rw-r--r--
2025-03-14 17:48
vboxguest.h
9.15
KB
-rw-r--r--
2025-03-14 17:48
vdpa.h
1.74
KB
-rw-r--r--
2025-03-14 17:48
vduse.h
9.58
KB
-rw-r--r--
2025-03-14 17:48
version.h
216
B
-rw-r--r--
2025-03-14 17:48
veth.h
224
B
-rw-r--r--
2025-03-14 17:48
vfio.h
70.18
KB
-rw-r--r--
2025-03-14 17:48
vfio_ccw.h
1.29
KB
-rw-r--r--
2025-03-14 17:48
vfio_zdev.h
2.48
KB
-rw-r--r--
2025-03-14 17:48
vhost.h
9.74
KB
-rw-r--r--
2025-03-14 17:48
vhost_types.h
5.14
KB
-rw-r--r--
2025-03-14 17:48
videodev2.h
98.5
KB
-rw-r--r--
2025-03-14 17:48
virtio_9p.h
2
KB
-rw-r--r--
2025-03-14 17:48
virtio_balloon.h
5.16
KB
-rw-r--r--
2025-03-14 17:48
virtio_blk.h
9.75
KB
-rw-r--r--
2025-03-14 17:48
virtio_bt.h
910
B
-rw-r--r--
2025-03-14 17:48
virtio_config.h
4.65
KB
-rw-r--r--
2025-03-14 17:48
virtio_console.h
3.08
KB
-rw-r--r--
2025-03-14 17:48
virtio_crypto.h
16.09
KB
-rw-r--r--
2025-03-14 17:48
virtio_fs.h
573
B
-rw-r--r--
2025-03-14 17:48
virtio_gpio.h
1.67
KB
-rw-r--r--
2025-03-14 17:48
virtio_gpu.h
11.19
KB
-rw-r--r--
2025-03-14 17:48
virtio_i2c.h
1.16
KB
-rw-r--r--
2025-03-14 17:48
virtio_ids.h
4.2
KB
-rw-r--r--
2025-03-14 17:48
virtio_input.h
2.46
KB
-rw-r--r--
2025-03-14 17:48
virtio_iommu.h
3.84
KB
-rw-r--r--
2025-03-14 17:48
virtio_mem.h
6.99
KB
-rw-r--r--
2025-03-14 17:48
virtio_mmio.h
4.85
KB
-rw-r--r--
2025-03-14 17:48
virtio_net.h
15.08
KB
-rw-r--r--
2025-03-14 17:48
virtio_pci.h
9.41
KB
-rw-r--r--
2025-03-14 17:48
virtio_pcidev.h
2.39
KB
-rw-r--r--
2025-03-14 17:48
virtio_pmem.h
882
B
-rw-r--r--
2025-03-14 17:48
virtio_ring.h
8.52
KB
-rw-r--r--
2025-03-14 17:48
virtio_rng.h
265
B
-rw-r--r--
2025-03-14 17:48
virtio_scmi.h
637
B
-rw-r--r--
2025-03-14 17:48
virtio_scsi.h
5.94
KB
-rw-r--r--
2025-03-14 17:48
virtio_snd.h
9.09
KB
-rw-r--r--
2025-03-14 17:48
virtio_types.h
2.1
KB
-rw-r--r--
2025-03-14 17:48
virtio_vsock.h
3.27
KB
-rw-r--r--
2025-03-14 17:48
vm_sockets.h
7.18
KB
-rw-r--r--
2025-03-14 17:48
vm_sockets_diag.h
963
B
-rw-r--r--
2025-03-14 17:48
vmcore.h
455
B
-rw-r--r--
2025-03-14 17:48
vsockmon.h
1.84
KB
-rw-r--r--
2025-03-14 17:48
vt.h
2.99
KB
-rw-r--r--
2025-03-14 17:48
vtpm_proxy.h
1.68
KB
-rw-r--r--
2025-03-14 17:48
wait.h
682
B
-rw-r--r--
2025-03-14 17:48
watch_queue.h
3.41
KB
-rw-r--r--
2025-03-14 17:48
watchdog.h
2.28
KB
-rw-r--r--
2025-03-14 17:48
wireguard.h
7.57
KB
-rw-r--r--
2025-03-14 17:48
wireless.h
41.7
KB
-rw-r--r--
2025-03-14 17:48
wmi.h
1.72
KB
-rw-r--r--
2025-03-14 17:48
wwan.h
295
B
-rw-r--r--
2025-03-14 17:48
x25.h
3.48
KB
-rw-r--r--
2025-03-14 17:48
xattr.h
2.95
KB
-rw-r--r--
2025-03-14 17:48
xdp_diag.h
1.43
KB
-rw-r--r--
2025-03-14 17:48
xfrm.h
12.35
KB
-rw-r--r--
2025-03-14 17:48
xilinx-v4l2-controls.h
2.91
KB
-rw-r--r--
2025-03-14 17:48
zorro.h
3.22
KB
-rw-r--r--
2025-03-14 17:48
zorro_ids.h
29.36
KB
-rw-r--r--
2025-03-14 17:48
Save
Rename
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _BTRFS_CTREE_H_ #define _BTRFS_CTREE_H_ #include <linux/btrfs.h> #include <linux/types.h> #include <stddef.h> /* ASCII for _BHRfS_M, no terminating nul */ #define BTRFS_MAGIC 0x4D5F53665248425FULL #define BTRFS_MAX_LEVEL 8 /* * We can actually store much bigger names, but lets not confuse the rest of * linux. */ #define BTRFS_NAME_LEN 255 /* * Theoretical limit is larger, but we keep this down to a sane value. That * should limit greatly the possibility of collisions on inode ref items. */ #define BTRFS_LINK_MAX 65535U /* * This header contains the structure definitions and constants used * by file system objects that can be retrieved using * the BTRFS_IOC_SEARCH_TREE ioctl. That means basically anything that * is needed to describe a leaf node's key or item contents. */ /* holds pointers to all of the tree roots */ #define BTRFS_ROOT_TREE_OBJECTID 1ULL /* stores information about which extents are in use, and reference counts */ #define BTRFS_EXTENT_TREE_OBJECTID 2ULL /* * chunk tree stores translations from logical -> physical block numbering * the super block points to the chunk tree */ #define BTRFS_CHUNK_TREE_OBJECTID 3ULL /* * stores information about which areas of a given device are in use. * one per device. The tree of tree roots points to the device tree */ #define BTRFS_DEV_TREE_OBJECTID 4ULL /* one per subvolume, storing files and directories */ #define BTRFS_FS_TREE_OBJECTID 5ULL /* directory objectid inside the root tree */ #define BTRFS_ROOT_TREE_DIR_OBJECTID 6ULL /* holds checksums of all the data extents */ #define BTRFS_CSUM_TREE_OBJECTID 7ULL /* holds quota configuration and tracking */ #define BTRFS_QUOTA_TREE_OBJECTID 8ULL /* for storing items that use the BTRFS_UUID_KEY* types */ #define BTRFS_UUID_TREE_OBJECTID 9ULL /* tracks free space in block groups. */ #define BTRFS_FREE_SPACE_TREE_OBJECTID 10ULL /* Holds the block group items for extent tree v2. */ #define BTRFS_BLOCK_GROUP_TREE_OBJECTID 11ULL /* Tracks RAID stripes in block groups. */ #define BTRFS_RAID_STRIPE_TREE_OBJECTID 12ULL /* device stats in the device tree */ #define BTRFS_DEV_STATS_OBJECTID 0ULL /* for storing balance parameters in the root tree */ #define BTRFS_BALANCE_OBJECTID -4ULL /* orphan objectid for tracking unlinked/truncated files */ #define BTRFS_ORPHAN_OBJECTID -5ULL /* does write ahead logging to speed up fsyncs */ #define BTRFS_TREE_LOG_OBJECTID -6ULL #define BTRFS_TREE_LOG_FIXUP_OBJECTID -7ULL /* for space balancing */ #define BTRFS_TREE_RELOC_OBJECTID -8ULL #define BTRFS_DATA_RELOC_TREE_OBJECTID -9ULL /* * extent checksums all have this objectid * this allows them to share the logging tree * for fsyncs */ #define BTRFS_EXTENT_CSUM_OBJECTID -10ULL /* For storing free space cache */ #define BTRFS_FREE_SPACE_OBJECTID -11ULL /* * The inode number assigned to the special inode for storing * free ino cache */ #define BTRFS_FREE_INO_OBJECTID -12ULL /* dummy objectid represents multiple objectids */ #define BTRFS_MULTIPLE_OBJECTIDS -255ULL /* * All files have objectids in this range. */ #define BTRFS_FIRST_FREE_OBJECTID 256ULL #define BTRFS_LAST_FREE_OBJECTID -256ULL #define BTRFS_FIRST_CHUNK_TREE_OBJECTID 256ULL /* * the device items go into the chunk tree. The key is in the form * [ 1 BTRFS_DEV_ITEM_KEY device_id ] */ #define BTRFS_DEV_ITEMS_OBJECTID 1ULL #define BTRFS_BTREE_INODE_OBJECTID 1 #define BTRFS_EMPTY_SUBVOL_DIR_OBJECTID 2 #define BTRFS_DEV_REPLACE_DEVID 0ULL /* * inode items have the data typically returned from stat and store other * info about object characteristics. There is one for every file and dir in * the FS */ #define BTRFS_INODE_ITEM_KEY 1 #define BTRFS_INODE_REF_KEY 12 #define BTRFS_INODE_EXTREF_KEY 13 #define BTRFS_XATTR_ITEM_KEY 24 /* * fs verity items are stored under two different key types on disk. * The descriptor items: * [ inode objectid, BTRFS_VERITY_DESC_ITEM_KEY, offset ] * * At offset 0, we store a btrfs_verity_descriptor_item which tracks the size * of the descriptor item and some extra data for encryption. * Starting at offset 1, these hold the generic fs verity descriptor. The * latter are opaque to btrfs, we just read and write them as a blob for the * higher level verity code. The most common descriptor size is 256 bytes. * * The merkle tree items: * [ inode objectid, BTRFS_VERITY_MERKLE_ITEM_KEY, offset ] * * These also start at offset 0, and correspond to the merkle tree bytes. When * fsverity asks for page 0 of the merkle tree, we pull up one page starting at * offset 0 for this key type. These are also opaque to btrfs, we're blindly * storing whatever fsverity sends down. */ #define BTRFS_VERITY_DESC_ITEM_KEY 36 #define BTRFS_VERITY_MERKLE_ITEM_KEY 37 #define BTRFS_ORPHAN_ITEM_KEY 48 /* reserve 2-15 close to the inode for later flexibility */ /* * dir items are the name -> inode pointers in a directory. There is one * for every name in a directory. BTRFS_DIR_LOG_ITEM_KEY is no longer used * but it's still defined here for documentation purposes and to help avoid * having its numerical value reused in the future. */ #define BTRFS_DIR_LOG_ITEM_KEY 60 #define BTRFS_DIR_LOG_INDEX_KEY 72 #define BTRFS_DIR_ITEM_KEY 84 #define BTRFS_DIR_INDEX_KEY 96 /* * extent data is for file data */ #define BTRFS_EXTENT_DATA_KEY 108 /* * extent csums are stored in a separate tree and hold csums for * an entire extent on disk. */ #define BTRFS_EXTENT_CSUM_KEY 128 /* * root items point to tree roots. They are typically in the root * tree used by the super block to find all the other trees */ #define BTRFS_ROOT_ITEM_KEY 132 /* * root backrefs tie subvols and snapshots to the directory entries that * reference them */ #define BTRFS_ROOT_BACKREF_KEY 144 /* * root refs make a fast index for listing all of the snapshots and * subvolumes referenced by a given root. They point directly to the * directory item in the root that references the subvol */ #define BTRFS_ROOT_REF_KEY 156 /* * extent items are in the extent map tree. These record which blocks * are used, and how many references there are to each block */ #define BTRFS_EXTENT_ITEM_KEY 168 /* * The same as the BTRFS_EXTENT_ITEM_KEY, except it's metadata we already know * the length, so we save the level in key->offset instead of the length. */ #define BTRFS_METADATA_ITEM_KEY 169 /* * Special __inline__ ref key which stores the id of the subvolume which originally * created the extent. This subvolume owns the extent permanently from the * perspective of simple quotas. Needed to know which subvolume to free quota * usage from when the extent is deleted. * * Stored as an __inline__ ref rather to avoid wasting space on a separate item on * top of the existing extent item. However, unlike the other __inline__ refs, * there is one one owner ref per extent rather than one per extent. * * Because of this, it goes at the front of the list of __inline__ refs, and thus * must have a lower type value than any other __inline__ ref type (to satisfy the * disk format rule that __inline__ refs have non-decreasing type). */ #define BTRFS_EXTENT_OWNER_REF_KEY 172 #define BTRFS_TREE_BLOCK_REF_KEY 176 #define BTRFS_EXTENT_DATA_REF_KEY 178 /* * Obsolete key. Defintion removed in 6.6, value may be reused in the future. * * #define BTRFS_EXTENT_REF_V0_KEY 180 */ #define BTRFS_SHARED_BLOCK_REF_KEY 182 #define BTRFS_SHARED_DATA_REF_KEY 184 /* * block groups give us hints into the extent allocation trees. Which * blocks are free etc etc */ #define BTRFS_BLOCK_GROUP_ITEM_KEY 192 /* * Every block group is represented in the free space tree by a free space info * item, which stores some accounting information. It is keyed on * (block_group_start, FREE_SPACE_INFO, block_group_length). */ #define BTRFS_FREE_SPACE_INFO_KEY 198 /* * A free space extent tracks an extent of space that is free in a block group. * It is keyed on (start, FREE_SPACE_EXTENT, length). */ #define BTRFS_FREE_SPACE_EXTENT_KEY 199 /* * When a block group becomes very fragmented, we convert it to use bitmaps * instead of extents. A free space bitmap is keyed on * (start, FREE_SPACE_BITMAP, length); the corresponding item is a bitmap with * (length / sectorsize) bits. */ #define BTRFS_FREE_SPACE_BITMAP_KEY 200 #define BTRFS_DEV_EXTENT_KEY 204 #define BTRFS_DEV_ITEM_KEY 216 #define BTRFS_CHUNK_ITEM_KEY 228 #define BTRFS_RAID_STRIPE_KEY 230 /* * Records the overall state of the qgroups. * There's only one instance of this key present, * (0, BTRFS_QGROUP_STATUS_KEY, 0) */ #define BTRFS_QGROUP_STATUS_KEY 240 /* * Records the currently used space of the qgroup. * One key per qgroup, (0, BTRFS_QGROUP_INFO_KEY, qgroupid). */ #define BTRFS_QGROUP_INFO_KEY 242 /* * Contains the user configured limits for the qgroup. * One key per qgroup, (0, BTRFS_QGROUP_LIMIT_KEY, qgroupid). */ #define BTRFS_QGROUP_LIMIT_KEY 244 /* * Records the child-parent relationship of qgroups. For * each relation, 2 keys are present: * (childid, BTRFS_QGROUP_RELATION_KEY, parentid) * (parentid, BTRFS_QGROUP_RELATION_KEY, childid) */ #define BTRFS_QGROUP_RELATION_KEY 246 /* * Obsolete name, see BTRFS_TEMPORARY_ITEM_KEY. */ #define BTRFS_BALANCE_ITEM_KEY 248 /* * The key type for tree items that are stored persistently, but do not need to * exist for extended period of time. The items can exist in any tree. * * [subtype, BTRFS_TEMPORARY_ITEM_KEY, data] * * Existing items: * * - balance status item * (BTRFS_BALANCE_OBJECTID, BTRFS_TEMPORARY_ITEM_KEY, 0) */ #define BTRFS_TEMPORARY_ITEM_KEY 248 /* * Obsolete name, see BTRFS_PERSISTENT_ITEM_KEY */ #define BTRFS_DEV_STATS_KEY 249 /* * The key type for tree items that are stored persistently and usually exist * for a long period, eg. filesystem lifetime. The item kinds can be status * information, stats or preference values. The item can exist in any tree. * * [subtype, BTRFS_PERSISTENT_ITEM_KEY, data] * * Existing items: * * - device statistics, store IO stats in the device tree, one key for all * stats * (BTRFS_DEV_STATS_OBJECTID, BTRFS_DEV_STATS_KEY, 0) */ #define BTRFS_PERSISTENT_ITEM_KEY 249 /* * Persistently stores the device replace state in the device tree. * The key is built like this: (0, BTRFS_DEV_REPLACE_KEY, 0). */ #define BTRFS_DEV_REPLACE_KEY 250 /* * Stores items that allow to quickly map UUIDs to something else. * These items are part of the filesystem UUID tree. * The key is built like this: * (UUID_upper_64_bits, BTRFS_UUID_KEY*, UUID_lower_64_bits). */ #if BTRFS_UUID_SIZE != 16 #error "UUID items require BTRFS_UUID_SIZE == 16!" #endif #define BTRFS_UUID_KEY_SUBVOL 251 /* for UUIDs assigned to subvols */ #define BTRFS_UUID_KEY_RECEIVED_SUBVOL 252 /* for UUIDs assigned to * received subvols */ /* * string items are for debugging. They just store a short string of * data in the FS */ #define BTRFS_STRING_ITEM_KEY 253 /* Maximum metadata block size (nodesize) */ #define BTRFS_MAX_METADATA_BLOCKSIZE 65536 /* 32 bytes in various csum fields */ #define BTRFS_CSUM_SIZE 32 /* csum types */ enum btrfs_csum_type { BTRFS_CSUM_TYPE_CRC32 = 0, BTRFS_CSUM_TYPE_XXHASH = 1, BTRFS_CSUM_TYPE_SHA256 = 2, BTRFS_CSUM_TYPE_BLAKE2 = 3, }; /* * flags definitions for directory entry item type * * Used by: * struct btrfs_dir_item.type * * Values 0..7 must match common file type values in fs_types.h. */ #define BTRFS_FT_UNKNOWN 0 #define BTRFS_FT_REG_FILE 1 #define BTRFS_FT_DIR 2 #define BTRFS_FT_CHRDEV 3 #define BTRFS_FT_BLKDEV 4 #define BTRFS_FT_FIFO 5 #define BTRFS_FT_SOCK 6 #define BTRFS_FT_SYMLINK 7 #define BTRFS_FT_XATTR 8 #define BTRFS_FT_MAX 9 /* Directory contains encrypted data */ #define BTRFS_FT_ENCRYPTED 0x80 static __inline__ __u8 btrfs_dir_flags_to_ftype(__u8 flags) { return flags & ~BTRFS_FT_ENCRYPTED; } /* * Inode flags */ #define BTRFS_INODE_NODATASUM (1U << 0) #define BTRFS_INODE_NODATACOW (1U << 1) #define BTRFS_INODE_READONLY (1U << 2) #define BTRFS_INODE_NOCOMPRESS (1U << 3) #define BTRFS_INODE_PREALLOC (1U << 4) #define BTRFS_INODE_SYNC (1U << 5) #define BTRFS_INODE_IMMUTABLE (1U << 6) #define BTRFS_INODE_APPEND (1U << 7) #define BTRFS_INODE_NODUMP (1U << 8) #define BTRFS_INODE_NOATIME (1U << 9) #define BTRFS_INODE_DIRSYNC (1U << 10) #define BTRFS_INODE_COMPRESS (1U << 11) #define BTRFS_INODE_ROOT_ITEM_INIT (1U << 31) #define BTRFS_INODE_FLAG_MASK \ (BTRFS_INODE_NODATASUM | \ BTRFS_INODE_NODATACOW | \ BTRFS_INODE_READONLY | \ BTRFS_INODE_NOCOMPRESS | \ BTRFS_INODE_PREALLOC | \ BTRFS_INODE_SYNC | \ BTRFS_INODE_IMMUTABLE | \ BTRFS_INODE_APPEND | \ BTRFS_INODE_NODUMP | \ BTRFS_INODE_NOATIME | \ BTRFS_INODE_DIRSYNC | \ BTRFS_INODE_COMPRESS | \ BTRFS_INODE_ROOT_ITEM_INIT) #define BTRFS_INODE_RO_VERITY (1U << 0) #define BTRFS_INODE_RO_FLAG_MASK (BTRFS_INODE_RO_VERITY) /* * The key defines the order in the tree, and so it also defines (optimal) * block layout. * * objectid corresponds to the inode number. * * type tells us things about the object, and is a kind of stream selector. * so for a given inode, keys with type of 1 might refer to the inode data, * type of 2 may point to file data in the btree and type == 3 may point to * extents. * * offset is the starting byte offset for this key in the stream. * * btrfs_disk_key is in disk byte order. struct btrfs_key is always * in cpu native order. Otherwise they are identical and their sizes * should be the same (ie both packed) */ struct btrfs_disk_key { __le64 objectid; __u8 type; __le64 offset; } __attribute__ ((__packed__)); struct btrfs_key { __u64 objectid; __u8 type; __u64 offset; } __attribute__ ((__packed__)); /* * Every tree block (leaf or node) starts with this header. */ struct btrfs_header { /* These first four must match the super block */ __u8 csum[BTRFS_CSUM_SIZE]; /* FS specific uuid */ __u8 fsid[BTRFS_FSID_SIZE]; /* Which block this node is supposed to live in */ __le64 bytenr; __le64 flags; /* Allowed to be different from the super from here on down */ __u8 chunk_tree_uuid[BTRFS_UUID_SIZE]; __le64 generation; __le64 owner; __le32 nritems; __u8 level; } __attribute__ ((__packed__)); /* * This is a very generous portion of the super block, giving us room to * translate 14 chunks with 3 stripes each. */ #define BTRFS_SYSTEM_CHUNK_ARRAY_SIZE 2048 /* * Just in case we somehow lose the roots and are not able to mount, we store * an array of the roots from previous transactions in the super. */ #define BTRFS_NUM_BACKUP_ROOTS 4 struct btrfs_root_backup { __le64 tree_root; __le64 tree_root_gen; __le64 chunk_root; __le64 chunk_root_gen; __le64 extent_root; __le64 extent_root_gen; __le64 fs_root; __le64 fs_root_gen; __le64 dev_root; __le64 dev_root_gen; __le64 csum_root; __le64 csum_root_gen; __le64 total_bytes; __le64 bytes_used; __le64 num_devices; /* future */ __le64 unused_64[4]; __u8 tree_root_level; __u8 chunk_root_level; __u8 extent_root_level; __u8 fs_root_level; __u8 dev_root_level; __u8 csum_root_level; /* future and to align */ __u8 unused_8[10]; } __attribute__ ((__packed__)); /* * A leaf is full of items. offset and size tell us where to find the item in * the leaf (relative to the start of the data area) */ struct btrfs_item { struct btrfs_disk_key key; __le32 offset; __le32 size; } __attribute__ ((__packed__)); /* * Leaves have an item area and a data area: * [item0, item1....itemN] [free space] [dataN...data1, data0] * * The data is separate from the items to get the keys closer together during * searches. */ struct btrfs_leaf { struct btrfs_header header; struct btrfs_item items[]; } __attribute__ ((__packed__)); /* * All non-leaf blocks are nodes, they hold only keys and pointers to other * blocks. */ struct btrfs_key_ptr { struct btrfs_disk_key key; __le64 blockptr; __le64 generation; } __attribute__ ((__packed__)); struct btrfs_node { struct btrfs_header header; struct btrfs_key_ptr ptrs[]; } __attribute__ ((__packed__)); struct btrfs_dev_item { /* the internal btrfs device id */ __le64 devid; /* size of the device */ __le64 total_bytes; /* bytes used */ __le64 bytes_used; /* optimal io alignment for this device */ __le32 io_align; /* optimal io width for this device */ __le32 io_width; /* minimal io size for this device */ __le32 sector_size; /* type and info about this device */ __le64 type; /* expected generation for this device */ __le64 generation; /* * starting byte of this partition on the device, * to allow for stripe alignment in the future */ __le64 start_offset; /* grouping information for allocation decisions */ __le32 dev_group; /* seek speed 0-100 where 100 is fastest */ __u8 seek_speed; /* bandwidth 0-100 where 100 is fastest */ __u8 bandwidth; /* btrfs generated uuid for this device */ __u8 uuid[BTRFS_UUID_SIZE]; /* uuid of FS who owns this device */ __u8 fsid[BTRFS_UUID_SIZE]; } __attribute__ ((__packed__)); struct btrfs_stripe { __le64 devid; __le64 offset; __u8 dev_uuid[BTRFS_UUID_SIZE]; } __attribute__ ((__packed__)); struct btrfs_chunk { /* size of this chunk in bytes */ __le64 length; /* objectid of the root referencing this chunk */ __le64 owner; __le64 stripe_len; __le64 type; /* optimal io alignment for this chunk */ __le32 io_align; /* optimal io width for this chunk */ __le32 io_width; /* minimal io size for this chunk */ __le32 sector_size; /* 2^16 stripes is quite a lot, a second limit is the size of a single * item in the btree */ __le16 num_stripes; /* sub stripes only matter for raid10 */ __le16 sub_stripes; struct btrfs_stripe stripe; /* additional stripes go here */ } __attribute__ ((__packed__)); /* * The super block basically lists the main trees of the FS. */ struct btrfs_super_block { /* The first 4 fields must match struct btrfs_header */ __u8 csum[BTRFS_CSUM_SIZE]; /* FS specific UUID, visible to user */ __u8 fsid[BTRFS_FSID_SIZE]; /* This block number */ __le64 bytenr; __le64 flags; /* Allowed to be different from the btrfs_header from here own down */ __le64 magic; __le64 generation; __le64 root; __le64 chunk_root; __le64 log_root; /* * This member has never been utilized since the very beginning, thus * it's always 0 regardless of kernel version. We always use * generation + 1 to read log tree root. So here we mark it deprecated. */ __le64 __unused_log_root_transid; __le64 total_bytes; __le64 bytes_used; __le64 root_dir_objectid; __le64 num_devices; __le32 sectorsize; __le32 nodesize; __le32 __unused_leafsize; __le32 stripesize; __le32 sys_chunk_array_size; __le64 chunk_root_generation; __le64 compat_flags; __le64 compat_ro_flags; __le64 incompat_flags; __le16 csum_type; __u8 root_level; __u8 chunk_root_level; __u8 log_root_level; struct btrfs_dev_item dev_item; char label[BTRFS_LABEL_SIZE]; __le64 cache_generation; __le64 uuid_tree_generation; /* The UUID written into btree blocks */ __u8 metadata_uuid[BTRFS_FSID_SIZE]; __u64 nr_global_roots; /* Future expansion */ __le64 reserved[27]; __u8 sys_chunk_array[BTRFS_SYSTEM_CHUNK_ARRAY_SIZE]; struct btrfs_root_backup super_roots[BTRFS_NUM_BACKUP_ROOTS]; /* Padded to 4096 bytes */ __u8 padding[565]; } __attribute__ ((__packed__)); #define BTRFS_FREE_SPACE_EXTENT 1 #define BTRFS_FREE_SPACE_BITMAP 2 struct btrfs_free_space_entry { __le64 offset; __le64 bytes; __u8 type; } __attribute__ ((__packed__)); struct btrfs_free_space_header { struct btrfs_disk_key location; __le64 generation; __le64 num_entries; __le64 num_bitmaps; } __attribute__ ((__packed__)); struct btrfs_raid_stride { /* The id of device this raid extent lives on. */ __le64 devid; /* The physical location on disk. */ __le64 physical; } __attribute__ ((__packed__)); /* The stripe_extent::encoding, 1:1 mapping of enum btrfs_raid_types. */ #define BTRFS_STRIPE_RAID0 1 #define BTRFS_STRIPE_RAID1 2 #define BTRFS_STRIPE_DUP 3 #define BTRFS_STRIPE_RAID10 4 #define BTRFS_STRIPE_RAID5 5 #define BTRFS_STRIPE_RAID6 6 #define BTRFS_STRIPE_RAID1C3 7 #define BTRFS_STRIPE_RAID1C4 8 struct btrfs_stripe_extent { __u8 encoding; __u8 reserved[7]; /* An array of raid strides this stripe is composed of. */ struct btrfs_raid_stride strides[]; } __attribute__ ((__packed__)); #define BTRFS_HEADER_FLAG_WRITTEN (1ULL << 0) #define BTRFS_HEADER_FLAG_RELOC (1ULL << 1) /* Super block flags */ /* Errors detected */ #define BTRFS_SUPER_FLAG_ERROR (1ULL << 2) #define BTRFS_SUPER_FLAG_SEEDING (1ULL << 32) #define BTRFS_SUPER_FLAG_METADUMP (1ULL << 33) #define BTRFS_SUPER_FLAG_METADUMP_V2 (1ULL << 34) #define BTRFS_SUPER_FLAG_CHANGING_FSID (1ULL << 35) #define BTRFS_SUPER_FLAG_CHANGING_FSID_V2 (1ULL << 36) /* * items in the extent btree are used to record the objectid of the * owner of the block and the number of references */ struct btrfs_extent_item { __le64 refs; __le64 generation; __le64 flags; } __attribute__ ((__packed__)); struct btrfs_extent_item_v0 { __le32 refs; } __attribute__ ((__packed__)); #define BTRFS_EXTENT_FLAG_DATA (1ULL << 0) #define BTRFS_EXTENT_FLAG_TREE_BLOCK (1ULL << 1) /* following flags only apply to tree blocks */ /* use full backrefs for extent pointers in the block */ #define BTRFS_BLOCK_FLAG_FULL_BACKREF (1ULL << 8) #define BTRFS_BACKREF_REV_MAX 256 #define BTRFS_BACKREF_REV_SHIFT 56 #define BTRFS_BACKREF_REV_MASK (((u64)BTRFS_BACKREF_REV_MAX - 1) << \ BTRFS_BACKREF_REV_SHIFT) #define BTRFS_OLD_BACKREF_REV 0 #define BTRFS_MIXED_BACKREF_REV 1 /* * this flag is only used internally by scrub and may be changed at any time * it is only declared here to avoid collisions */ #define BTRFS_EXTENT_FLAG_SUPER (1ULL << 48) struct btrfs_tree_block_info { struct btrfs_disk_key key; __u8 level; } __attribute__ ((__packed__)); struct btrfs_extent_data_ref { __le64 root; __le64 objectid; __le64 offset; __le32 count; } __attribute__ ((__packed__)); struct btrfs_shared_data_ref { __le32 count; } __attribute__ ((__packed__)); struct btrfs_extent_owner_ref { __le64 root_id; } __attribute__ ((__packed__)); struct btrfs_extent_inline_ref { __u8 type; __le64 offset; } __attribute__ ((__packed__)); /* dev extents record free space on individual devices. The owner * field points back to the chunk allocation mapping tree that allocated * the extent. The chunk tree uuid field is a way to double check the owner */ struct btrfs_dev_extent { __le64 chunk_tree; __le64 chunk_objectid; __le64 chunk_offset; __le64 length; __u8 chunk_tree_uuid[BTRFS_UUID_SIZE]; } __attribute__ ((__packed__)); struct btrfs_inode_ref { __le64 index; __le16 name_len; /* name goes here */ } __attribute__ ((__packed__)); struct btrfs_inode_extref { __le64 parent_objectid; __le64 index; __le16 name_len; __u8 name[]; /* name goes here */ } __attribute__ ((__packed__)); struct btrfs_timespec { __le64 sec; __le32 nsec; } __attribute__ ((__packed__)); struct btrfs_inode_item { /* nfs style generation number */ __le64 generation; /* transid that last touched this inode */ __le64 transid; __le64 size; __le64 nbytes; __le64 block_group; __le32 nlink; __le32 uid; __le32 gid; __le32 mode; __le64 rdev; __le64 flags; /* modification sequence number for NFS */ __le64 sequence; /* * a little future expansion, for more than this we can * just grow the inode item and version it */ __le64 reserved[4]; struct btrfs_timespec atime; struct btrfs_timespec ctime; struct btrfs_timespec mtime; struct btrfs_timespec otime; } __attribute__ ((__packed__)); struct btrfs_dir_log_item { __le64 end; } __attribute__ ((__packed__)); struct btrfs_dir_item { struct btrfs_disk_key location; __le64 transid; __le16 data_len; __le16 name_len; __u8 type; } __attribute__ ((__packed__)); #define BTRFS_ROOT_SUBVOL_RDONLY (1ULL << 0) /* * Internal in-memory flag that a subvolume has been marked for deletion but * still visible as a directory */ #define BTRFS_ROOT_SUBVOL_DEAD (1ULL << 48) struct btrfs_root_item { struct btrfs_inode_item inode; __le64 generation; __le64 root_dirid; __le64 bytenr; __le64 byte_limit; __le64 bytes_used; __le64 last_snapshot; __le64 flags; __le32 refs; struct btrfs_disk_key drop_progress; __u8 drop_level; __u8 level; /* * The following fields appear after subvol_uuids+subvol_times * were introduced. */ /* * This generation number is used to test if the new fields are valid * and up to date while reading the root item. Every time the root item * is written out, the "generation" field is copied into this field. If * anyone ever mounted the fs with an older kernel, we will have * mismatching generation values here and thus must invalidate the * new fields. See btrfs_update_root and btrfs_find_last_root for * details. * the offset of generation_v2 is also used as the start for the memset * when invalidating the fields. */ __le64 generation_v2; __u8 uuid[BTRFS_UUID_SIZE]; __u8 parent_uuid[BTRFS_UUID_SIZE]; __u8 received_uuid[BTRFS_UUID_SIZE]; __le64 ctransid; /* updated when an inode changes */ __le64 otransid; /* trans when created */ __le64 stransid; /* trans when sent. non-zero for received subvol */ __le64 rtransid; /* trans when received. non-zero for received subvol */ struct btrfs_timespec ctime; struct btrfs_timespec otime; struct btrfs_timespec stime; struct btrfs_timespec rtime; __le64 reserved[8]; /* for future */ } __attribute__ ((__packed__)); /* * Btrfs root item used to be smaller than current size. The old format ends * at where member generation_v2 is. */ static __inline__ __u32 btrfs_legacy_root_item_size(void) { return offsetof(struct btrfs_root_item, generation_v2); } /* * this is used for both forward and backward root refs */ struct btrfs_root_ref { __le64 dirid; __le64 sequence; __le16 name_len; } __attribute__ ((__packed__)); struct btrfs_disk_balance_args { /* * profiles to operate on, single is denoted by * BTRFS_AVAIL_ALLOC_BIT_SINGLE */ __le64 profiles; /* * usage filter * BTRFS_BALANCE_ARGS_USAGE with a single value means '0..N' * BTRFS_BALANCE_ARGS_USAGE_RANGE - range syntax, min..max */ union { __le64 usage; struct { __le32 usage_min; __le32 usage_max; }; }; /* devid filter */ __le64 devid; /* devid subset filter [pstart..pend) */ __le64 pstart; __le64 pend; /* btrfs virtual address space subset filter [vstart..vend) */ __le64 vstart; __le64 vend; /* * profile to convert to, single is denoted by * BTRFS_AVAIL_ALLOC_BIT_SINGLE */ __le64 target; /* BTRFS_BALANCE_ARGS_* */ __le64 flags; /* * BTRFS_BALANCE_ARGS_LIMIT with value 'limit' * BTRFS_BALANCE_ARGS_LIMIT_RANGE - the extend version can use minimum * and maximum */ union { __le64 limit; struct { __le32 limit_min; __le32 limit_max; }; }; /* * Process chunks that cross stripes_min..stripes_max devices, * BTRFS_BALANCE_ARGS_STRIPES_RANGE */ __le32 stripes_min; __le32 stripes_max; __le64 unused[6]; } __attribute__ ((__packed__)); /* * store balance parameters to disk so that balance can be properly * resumed after crash or unmount */ struct btrfs_balance_item { /* BTRFS_BALANCE_* */ __le64 flags; struct btrfs_disk_balance_args data; struct btrfs_disk_balance_args meta; struct btrfs_disk_balance_args sys; __le64 unused[4]; } __attribute__ ((__packed__)); enum { BTRFS_FILE_EXTENT_INLINE = 0, BTRFS_FILE_EXTENT_REG = 1, BTRFS_FILE_EXTENT_PREALLOC = 2, BTRFS_NR_FILE_EXTENT_TYPES = 3, }; struct btrfs_file_extent_item { /* * transaction id that created this extent */ __le64 generation; /* * max number of bytes to hold this extent in ram * when we split a compressed extent we can't know how big * each of the resulting pieces will be. So, this is * an upper limit on the size of the extent in ram instead of * an exact limit. */ __le64 ram_bytes; /* * 32 bits for the various ways we might encode the data, * including compression and encryption. If any of these * are set to something a given disk format doesn't understand * it is treated like an incompat flag for reading and writing, * but not for stat. */ __u8 compression; __u8 encryption; __le16 other_encoding; /* spare for later use */ /* are we __inline__ data or a real extent? */ __u8 type; /* * disk space consumed by the extent, checksum blocks are included * in these numbers * * At this offset in the structure, the __inline__ extent data start. */ __le64 disk_bytenr; __le64 disk_num_bytes; /* * the logical offset in file blocks (no csums) * this extent record is for. This allows a file extent to point * into the middle of an existing extent on disk, sharing it * between two snapshots (useful if some bytes in the middle of the * extent have changed */ __le64 offset; /* * the logical number of file blocks (no csums included). This * always reflects the size uncompressed and without encoding. */ __le64 num_bytes; } __attribute__ ((__packed__)); struct btrfs_csum_item { __u8 csum; } __attribute__ ((__packed__)); struct btrfs_dev_stats_item { /* * grow this item struct at the end for future enhancements and keep * the existing values unchanged */ __le64 values[BTRFS_DEV_STAT_VALUES_MAX]; } __attribute__ ((__packed__)); #define BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS 0 #define BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID 1 struct btrfs_dev_replace_item { /* * grow this item struct at the end for future enhancements and keep * the existing values unchanged */ __le64 src_devid; __le64 cursor_left; __le64 cursor_right; __le64 cont_reading_from_srcdev_mode; __le64 replace_state; __le64 time_started; __le64 time_stopped; __le64 num_write_errors; __le64 num_uncorrectable_read_errors; } __attribute__ ((__packed__)); /* different types of block groups (and chunks) */ #define BTRFS_BLOCK_GROUP_DATA (1ULL << 0) #define BTRFS_BLOCK_GROUP_SYSTEM (1ULL << 1) #define BTRFS_BLOCK_GROUP_METADATA (1ULL << 2) #define BTRFS_BLOCK_GROUP_RAID0 (1ULL << 3) #define BTRFS_BLOCK_GROUP_RAID1 (1ULL << 4) #define BTRFS_BLOCK_GROUP_DUP (1ULL << 5) #define BTRFS_BLOCK_GROUP_RAID10 (1ULL << 6) #define BTRFS_BLOCK_GROUP_RAID5 (1ULL << 7) #define BTRFS_BLOCK_GROUP_RAID6 (1ULL << 8) #define BTRFS_BLOCK_GROUP_RAID1C3 (1ULL << 9) #define BTRFS_BLOCK_GROUP_RAID1C4 (1ULL << 10) #define BTRFS_BLOCK_GROUP_RESERVED (BTRFS_AVAIL_ALLOC_BIT_SINGLE | \ BTRFS_SPACE_INFO_GLOBAL_RSV) #define BTRFS_BLOCK_GROUP_TYPE_MASK (BTRFS_BLOCK_GROUP_DATA | \ BTRFS_BLOCK_GROUP_SYSTEM | \ BTRFS_BLOCK_GROUP_METADATA) #define BTRFS_BLOCK_GROUP_PROFILE_MASK (BTRFS_BLOCK_GROUP_RAID0 | \ BTRFS_BLOCK_GROUP_RAID1 | \ BTRFS_BLOCK_GROUP_RAID1C3 | \ BTRFS_BLOCK_GROUP_RAID1C4 | \ BTRFS_BLOCK_GROUP_RAID5 | \ BTRFS_BLOCK_GROUP_RAID6 | \ BTRFS_BLOCK_GROUP_DUP | \ BTRFS_BLOCK_GROUP_RAID10) #define BTRFS_BLOCK_GROUP_RAID56_MASK (BTRFS_BLOCK_GROUP_RAID5 | \ BTRFS_BLOCK_GROUP_RAID6) #define BTRFS_BLOCK_GROUP_RAID1_MASK (BTRFS_BLOCK_GROUP_RAID1 | \ BTRFS_BLOCK_GROUP_RAID1C3 | \ BTRFS_BLOCK_GROUP_RAID1C4) /* * We need a bit for restriper to be able to tell when chunks of type * SINGLE are available. This "extended" profile format is used in * fs_info->avail_*_alloc_bits (in-memory) and balance item fields * (on-disk). The corresponding on-disk bit in chunk.type is reserved * to avoid remappings between two formats in future. */ #define BTRFS_AVAIL_ALLOC_BIT_SINGLE (1ULL << 48) /* * A fake block group type that is used to communicate global block reserve * size to userspace via the SPACE_INFO ioctl. */ #define BTRFS_SPACE_INFO_GLOBAL_RSV (1ULL << 49) #define BTRFS_EXTENDED_PROFILE_MASK (BTRFS_BLOCK_GROUP_PROFILE_MASK | \ BTRFS_AVAIL_ALLOC_BIT_SINGLE) static __inline__ __u64 chunk_to_extended(__u64 flags) { if ((flags & BTRFS_BLOCK_GROUP_PROFILE_MASK) == 0) flags |= BTRFS_AVAIL_ALLOC_BIT_SINGLE; return flags; } static __inline__ __u64 extended_to_chunk(__u64 flags) { return flags & ~BTRFS_AVAIL_ALLOC_BIT_SINGLE; } struct btrfs_block_group_item { __le64 used; __le64 chunk_objectid; __le64 flags; } __attribute__ ((__packed__)); struct btrfs_free_space_info { __le32 extent_count; __le32 flags; } __attribute__ ((__packed__)); #define BTRFS_FREE_SPACE_USING_BITMAPS (1ULL << 0) #define BTRFS_QGROUP_LEVEL_SHIFT 48 static __inline__ __u16 btrfs_qgroup_level(__u64 qgroupid) { return (__u16)(qgroupid >> BTRFS_QGROUP_LEVEL_SHIFT); } /* * is subvolume quota turned on? */ #define BTRFS_QGROUP_STATUS_FLAG_ON (1ULL << 0) /* * RESCAN is set during the initialization phase */ #define BTRFS_QGROUP_STATUS_FLAG_RESCAN (1ULL << 1) /* * Some qgroup entries are known to be out of date, * either because the configuration has changed in a way that * makes a rescan necessary, or because the fs has been mounted * with a non-qgroup-aware version. * Turning qouta off and on again makes it inconsistent, too. */ #define BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT (1ULL << 2) /* * Whether or not this filesystem is using simple quotas. Not exactly the * incompat bit, because we support using simple quotas, disabling it, then * going back to full qgroup quotas. */ #define BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE (1ULL << 3) #define BTRFS_QGROUP_STATUS_FLAGS_MASK (BTRFS_QGROUP_STATUS_FLAG_ON | \ BTRFS_QGROUP_STATUS_FLAG_RESCAN | \ BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT | \ BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE) #define BTRFS_QGROUP_STATUS_VERSION 1 struct btrfs_qgroup_status_item { __le64 version; /* * the generation is updated during every commit. As older * versions of btrfs are not aware of qgroups, it will be * possible to detect inconsistencies by checking the * generation on mount time */ __le64 generation; /* flag definitions see above */ __le64 flags; /* * only used during scanning to record the progress * of the scan. It contains a logical address */ __le64 rescan; /* * The generation when quotas were last enabled. Used by simple quotas to * avoid decrementing when freeing an extent that was written before * enable. * * Set only if flags contain BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE. */ __le64 enable_gen; } __attribute__ ((__packed__)); struct btrfs_qgroup_info_item { __le64 generation; __le64 rfer; __le64 rfer_cmpr; __le64 excl; __le64 excl_cmpr; } __attribute__ ((__packed__)); struct btrfs_qgroup_limit_item { /* * only updated when any of the other values change */ __le64 flags; __le64 max_rfer; __le64 max_excl; __le64 rsv_rfer; __le64 rsv_excl; } __attribute__ ((__packed__)); struct btrfs_verity_descriptor_item { /* Size of the verity descriptor in bytes */ __le64 size; /* * When we implement support for fscrypt, we will need to encrypt the * Merkle tree for encrypted verity files. These 128 bits are for the * eventual storage of an fscrypt initialization vector. */ __le64 reserved[2]; __u8 encryption; } __attribute__ ((__packed__)); #endif /* _BTRFS_CTREE_H_ */