use crate::Inodes;
#[derive(Debug, Clone)]
pub struct Stats {
pub bsize: u64,
pub blocks: u64,
pub bused: u64,
pub bfree: u64,
pub bavail: u64,
pub inodes: Option<Inodes>,
}
impl Stats {
pub fn size(&self) -> u64 {
self.bsize * self.blocks
}
pub fn available(&self) -> u64 {
self.bsize * self.bavail
}
pub fn used(&self) -> u64 {
self.bsize * self.bused
}
pub fn use_share(&self) -> f64 {
if self.blocks == 0 {
0.0
} else {
(self.blocks - self.bfree) as f64 / self.blocks as f64
}
}
}