use hadris_storage::{BlockCount, BlockGeometry, BlockSize};
use crate::types::container::ContainerSuperblock;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ContainerInfo {
pub superblock: ContainerSuperblock,
}
impl ContainerInfo {
pub fn geometry(&self) -> crate::Result<BlockGeometry> {
let block_size = BlockSize::new(self.superblock.block_size)
.ok_or(crate::ApfsError::InvalidValue("container block size"))?;
Ok(BlockGeometry::new(
block_size,
BlockCount(self.superblock.block_count),
))
}
}