btrfs_no_std/core/
root_backup.rs

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