tape: add volume_mounts and medium_passes to LinuxDriveAndMediaStatus
This commit is contained in:
parent
f8ccbfdedd
commit
b40ab10d38
|
@ -197,4 +197,11 @@ pub struct LinuxDriveAndMediaStatus {
|
||||||
/// Total Bytes Written in Medium Life
|
/// Total Bytes Written in Medium Life
|
||||||
#[serde(skip_serializing_if="Option::is_none")]
|
#[serde(skip_serializing_if="Option::is_none")]
|
||||||
pub bytes_written: Option<u64>,
|
pub bytes_written: Option<u64>,
|
||||||
|
/// Number of mounts for the current volume (i.e., Thread Count)
|
||||||
|
#[serde(skip_serializing_if="Option::is_none")]
|
||||||
|
pub volume_mounts: Option<u64>,
|
||||||
|
/// Count of the total number of times the medium has passed over
|
||||||
|
/// the head.
|
||||||
|
#[serde(skip_serializing_if="Option::is_none")]
|
||||||
|
pub medium_passes: Option<u64>,
|
||||||
}
|
}
|
||||||
|
|
|
@ -598,6 +598,8 @@ fn status(
|
||||||
.column(ColumnConfig::new("manufactured").renderer(render_epoch))
|
.column(ColumnConfig::new("manufactured").renderer(render_epoch))
|
||||||
.column(ColumnConfig::new("bytes-written").renderer(render_bytes_human_readable))
|
.column(ColumnConfig::new("bytes-written").renderer(render_bytes_human_readable))
|
||||||
.column(ColumnConfig::new("bytes-read").renderer(render_bytes_human_readable))
|
.column(ColumnConfig::new("bytes-read").renderer(render_bytes_human_readable))
|
||||||
|
.column(ColumnConfig::new("medium-passes"))
|
||||||
|
.column(ColumnConfig::new("volume-mounts"))
|
||||||
;
|
;
|
||||||
|
|
||||||
format_and_print_result_full(&mut data, &info.returns, &output_format, &options);
|
format_and_print_result_full(&mut data, &info.returns, &output_format, &options);
|
||||||
|
|
|
@ -225,6 +225,8 @@ impl LinuxTapeHandle {
|
||||||
manufactured: None,
|
manufactured: None,
|
||||||
bytes_read: None,
|
bytes_read: None,
|
||||||
bytes_written: None,
|
bytes_written: None,
|
||||||
|
medium_passes: None,
|
||||||
|
volume_mounts: None,
|
||||||
};
|
};
|
||||||
|
|
||||||
if drive_status.tape_is_ready() {
|
if drive_status.tape_is_ready() {
|
||||||
|
@ -237,6 +239,16 @@ impl LinuxTapeHandle {
|
||||||
status.bytes_read = Some(usage.bytes_read);
|
status.bytes_read = Some(usage.bytes_read);
|
||||||
status.bytes_written = Some(usage.bytes_written);
|
status.bytes_written = Some(usage.bytes_written);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if let Ok(volume_stats) = self.volume_statistics() {
|
||||||
|
|
||||||
|
status.medium_passes = Some(std::cmp::max(
|
||||||
|
volume_stats.beginning_of_medium_passes,
|
||||||
|
volume_stats.middle_of_tape_passes,
|
||||||
|
));
|
||||||
|
|
||||||
|
status.volume_mounts = Some(volume_stats.volume_mounts);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(status)
|
Ok(status)
|
||||||
|
|
|
@ -60,32 +60,32 @@ struct LpParameterHeader {
|
||||||
|
|
||||||
#[derive(Default, Serialize, Deserialize)]
|
#[derive(Default, Serialize, Deserialize)]
|
||||||
pub struct Lp17VolumeStatistics {
|
pub struct Lp17VolumeStatistics {
|
||||||
volume_mounts: u64,
|
pub volume_mounts: u64,
|
||||||
volume_datasets_written: u64,
|
pub volume_datasets_written: u64,
|
||||||
volume_recovered_write_data_errors: u64,
|
pub volume_recovered_write_data_errors: u64,
|
||||||
volume_unrecovered_write_data_errors: u64,
|
pub volume_unrecovered_write_data_errors: u64,
|
||||||
volume_write_servo_errors: u64,
|
pub volume_write_servo_errors: u64,
|
||||||
volume_unrecovered_write_servo_errors: u64,
|
pub volume_unrecovered_write_servo_errors: u64,
|
||||||
volume_datasets_read: u64,
|
pub volume_datasets_read: u64,
|
||||||
volume_recovered_read_errors: u64,
|
pub volume_recovered_read_errors: u64,
|
||||||
volume_unrecovered_read_errors: u64,
|
pub volume_unrecovered_read_errors: u64,
|
||||||
last_mount_unrecovered_write_errors: u64,
|
pub last_mount_unrecovered_write_errors: u64,
|
||||||
last_mount_unrecovered_read_errors: u64,
|
pub last_mount_unrecovered_read_errors: u64,
|
||||||
last_mount_bytes_written: u64,
|
pub last_mount_bytes_written: u64,
|
||||||
last_mount_bytes_read: u64,
|
pub last_mount_bytes_read: u64,
|
||||||
lifetime_bytes_written: u64,
|
pub lifetime_bytes_written: u64,
|
||||||
lifetime_bytes_read: u64,
|
pub lifetime_bytes_read: u64,
|
||||||
last_load_write_compression_ratio: u64,
|
pub last_load_write_compression_ratio: u64,
|
||||||
last_load_read_compression_ratio: u64,
|
pub last_load_read_compression_ratio: u64,
|
||||||
medium_mount_time: u64,
|
pub medium_mount_time: u64,
|
||||||
medium_ready_time: u64,
|
pub medium_ready_time: u64,
|
||||||
total_native_capacity: u64,
|
pub total_native_capacity: u64,
|
||||||
total_used_native_capacity: u64,
|
pub total_used_native_capacity: u64,
|
||||||
write_protect: bool,
|
pub write_protect: bool,
|
||||||
worm: bool,
|
pub worm: bool,
|
||||||
beginning_of_medium_passes: u64,
|
pub beginning_of_medium_passes: u64,
|
||||||
middle_of_tape_passes: u64,
|
pub middle_of_tape_passes: u64,
|
||||||
serial: String,
|
pub serial: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
//impl Default for Lp17VolumeStatistics {
|
//impl Default for Lp17VolumeStatistics {
|
||||||
|
|
Loading…
Reference in New Issue