Struct lsm::Disk
[−]
[src]
pub struct Disk { pub id: String, pub name: String, pub disk_type: DiskType, pub block_size: u64, pub num_of_blocks: u64, pub status: u64, pub system_id: String, pub location: Option<String>, pub rpm: Option<i32>, pub link_type: Option<DiskLinkType>, pub vpd83: Option<String>, // some fields omitted }
Fields
id: String
Identifier.
name: String
Human friendly name.
disk_type: DiskType
Disk type.
block_size: u64
Block size in bytes.
num_of_blocks: u64
Count of block.
status: u64
Disk status stored in bitmap. Valid status value are:
Disk::STATUS_UNKNOWN
Disk::STATUS_OK
Disk::STATUS_OTHER
Disk::STATUS_PREDICTIVE_FAILURE
Disk::STATUS_ERROR
Disk::STATUS_REMOVED
Disk::STATUS_STARTING
Disk::STATUS_STOPPING
Disk::STATUS_STOPPED
Disk::STATUS_INITIALIZING
Disk::STATUS_MAINTENANCE_MODE
Disk::STATUS_SPARE_DISK
Disk::STATUS_RECONSTRUCT
Disk::STATUS_FREE
if (d.status & Disk::STATUS_OK) == 0 { println!("Disk {}/{} is not healthy", d.name, d.id); }
system_id: String
Identifier of owner system.
location: Option<String>
Disk location in storage topology.
rpm: Option<i32>
Disk rotation speed - revolutions per minute(RPM):
-1
-- Unknown RPM speed.0
-- Non-rotating medium (e.g., SSD).1
-- Rotational disk with unknown speed.> 1
-- Normal rotational disk (e.g., HDD).
link_type: Option<DiskLinkType>
Disk data link type.
vpd83: Option<String>
SCSI VPD 0x83 NAA type identifier.
Udev treat it as ID_WWN_WITH_EXTENSION
Methods
impl Disk
[src]
const STATUS_UNKNOWN: u64
STATUS_UNKNOWN: u64 = 1
Plugin failed to query out the status of disk.
const STATUS_OK: u64
STATUS_OK: u64 = 1 << 1
Disk is up and healthy.
const STATUS_OTHER: u64
STATUS_OTHER: u64 = 1 << 2
Vendor specific status.
const STATUS_PREDICTIVE_FAILURE: u64
STATUS_PREDICTIVE_FAILURE: u64 = 1 << 3
Disk is still functional but will fail soon.
const STATUS_ERROR: u64
STATUS_ERROR: u64 = 1 << 4
Error make disk not functional.
const STATUS_REMOVED: u64
STATUS_REMOVED: u64 = 1 << 5
Disk was removed by administrator.
const STATUS_STARTING: u64
STATUS_STARTING: u64 = 1 << 6
Disk is starting up.
const STATUS_STOPPING: u64
STATUS_STOPPING: u64 = 1 << 7
Disk is shutting down.
const STATUS_STOPPED: u64
STATUS_STOPPED: u64 = 1 << 8
Disk is stopped by administrator.
const STATUS_INITIALIZING: u64
STATUS_INITIALIZING: u64 = 1 << 9
Disk is not functional yet, internal storage system is initializing this disk, it could be:
Initialising new disk.
Zeroing disk.
Scrubbing disk data.
const STATUS_MAINTENANCE_MODE: u64
STATUS_MAINTENANCE_MODE: u64 = 1 << 10
In maintenance for bad sector scan, integrity check and etc It might be
combined with Disk::STATUS_OK
or Disk::STATUS_STOPPED
for online
maintenance or offline maintenance.
const STATUS_SPARE_DISK: u64
STATUS_SPARE_DISK: u64 = 1 << 11
Disk is configured as spare disk.
const STATUS_RECONSTRUCT: u64
STATUS_RECONSTRUCT: u64 = 1 << 12
Disk is reconstructing its data.
const STATUS_FREE: u64
STATUS_FREE: u64 = 1 << 13
Indicate the whole disk is not holding any data or acting as a dedicate
spare disk. This disk could be assigned as a dedicated spare disk or
used for creating pool. If any spare disk(like those on NetApp ONTAP)
does not require any explicit action when assigning to pool, it should
be treated as free disk and marked as
Disk::STATUS_FREE | Disk::STATUS_SPARE_DISK
.