[][src]Struct lsm::VolumeRaidInfo

pub struct VolumeRaidInfo {
    pub raid_type: RaidType,
    pub strip_size: u32,
    pub disk_count: u32,
    pub min_io_size: u32,
    pub opt_io_size: u32,
}

Represent volume RAID information.

Fields

raid_type: RaidType

RAID type

strip_size: u32

The size of strip on each disk or other storage extent. For RAID1/JBOD, it should be set as block size. If plugin failed to detect strip size, it should be set as 0.

disk_count: u32

The count of disks used for assembling the RAID group(s) where this volume allocated from. For any RAID system using the slice of disk, this value indicate how many disk slices are used for the RAID. For example, on LVM RAID, the 'disk_count' here indicate the count of PVs used for certain volume. Another example, on EMC VMAX, the 'disk_count' here indicate how many hyper volumes are used for this volume. For any RAID system using remote LUN for data storing, each remote LUN should be count as a disk. If the plugin failed to detect disk_count, it should be set as 0.

min_io_size: u32

The minimum I/O size, device preferred I/O size for random I/O. Any I/O size not equal to a multiple of this value may get significant speed penalty. Normally it refers to strip size of each disk(extent). If plugin failed to detect min_io_size, it should try these values in the sequence of: logical sector size -> physical sector size -> 0

opt_io_size: u32

The optimal I/O size, device preferred I/O size for sequential I/O. Normally it refers to RAID group stripe size. If plugin failed to detect opt_io_size, it should be set to 0.

Trait Implementations

impl Clone for VolumeRaidInfo[src]

impl Debug for VolumeRaidInfo[src]

Auto Trait Implementations

impl RefUnwindSafe for VolumeRaidInfo

impl Send for VolumeRaidInfo

impl Sync for VolumeRaidInfo

impl Unpin for VolumeRaidInfo

impl UnwindSafe for VolumeRaidInfo

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.