btrfs_diskformat/core/
root_backup.rs1use static_assertions::const_assert_eq;
2use zerocopy::little_endian::U64 as U64LE;
3use zerocopy_derive::*;
4
5#[derive(Copy, Clone, Debug, FromBytes, IntoBytes, Unaligned, KnownLayout)]
6#[repr(C, packed)]
7pub struct RootBackup {
8 pub tree_root: U64LE,
9 pub tree_root_gen: U64LE,
10
11 pub chunk_root: U64LE,
12 pub chunk_root_gen: U64LE,
13
14 pub extent_root: U64LE,
15 pub extent_root_gen: U64LE,
16
17 pub fs_root: U64LE,
18 pub fs_root_gen: U64LE,
19
20 pub dev_root: U64LE,
21 pub dev_root_gen: U64LE,
22
23 pub csum_root: U64LE,
24 pub csum_root_gen: U64LE,
25
26 pub total_bytes: U64LE,
27 pub bytes_used: U64LE,
28
29 pub num_devices: U64LE,
30
31 pub _unused_u64s: [u64; 4],
33
34 pub tree_root_level: u8,
35
36 pub chunk_root_level: u8,
37
38 pub extent_root_level: u8,
39
40 pub fs_root_level: u8,
41
42 pub dev_root_level: u8,
43
44 pub csum_root_level: u8,
45
46 pub _unused_u8s: [u8; 10],
48}
49const_assert_eq!(core::mem::size_of::<RootBackup>(), 168);