pub struct RaidManager { /* private fields */ }Expand description
RAID manager: manages multiple RAID arrays.
Implementations§
Source§impl RaidManager
impl RaidManager
Sourcepub fn create_array(
&mut self,
name: &str,
level: RaidLevel,
disks: Vec<RaidDisk>,
) -> Result<(), RaidError>
pub fn create_array( &mut self, name: &str, level: RaidLevel, disks: Vec<RaidDisk>, ) -> Result<(), RaidError>
Create a new RAID array.
Sourcepub fn destroy_array(&mut self, name: &str) -> Result<(), RaidError>
pub fn destroy_array(&mut self, name: &str) -> Result<(), RaidError>
Destroy an array.
Sourcepub fn add_spare(
&mut self,
array_name: &str,
disk: RaidDisk,
) -> Result<(), RaidError>
pub fn add_spare( &mut self, array_name: &str, disk: RaidDisk, ) -> Result<(), RaidError>
Add a hot spare to an array.
Sourcepub fn get_status(&self) -> Vec<(&str, ArrayState, usize, usize)>
pub fn get_status(&self) -> Vec<(&str, ArrayState, usize, usize)>
Get status summary of all arrays.
Sourcepub fn get_array_mut(&mut self, name: &str) -> Option<&mut RaidArray>
pub fn get_array_mut(&mut self, name: &str) -> Option<&mut RaidArray>
Get a mutable reference to an array by name.
Sourcepub fn array_count(&self) -> usize
pub fn array_count(&self) -> usize
Number of managed arrays.