1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
use { crate::types::UuidBytes, byteorder::LE, static_assertions::const_assert_eq, zerocopy::{AsBytes, FromBytes, Unaligned, U64}, }; /// Maps physical extents on an individual backing device to a chunk. This extent /// may be the only one for a particular chunk or one of several. /// /// It is associated with the `DEV_ITEM` item. This structure is never used /// outside of this item. #[derive(Clone, Debug, AsBytes, FromBytes, Unaligned)] #[repr(C, packed)] pub struct DevExtent { /// The object ID of the chunk tree that owns this extent. pub chunk_tree: U64<LE>, /// The object ID of the chunk item that references this extent. pub chunk_objectid: U64<LE>, /// The offset of the chunk item that references this extent. pub chunk_offset: U64<LE>, /// The length of this extent, in bytes. pub length: U64<LE>, /// The UUID of the chunk tree that owns this extent. pub chunk_tree_uuid: UuidBytes, } const_assert_eq!(std::mem::size_of::<DevExtent>(), 48);