From a7900d6e0b5fba91a2f56bc12bada1e5099e18d0 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Thu, 30 Mar 2023 13:28:43 +0200 Subject: [PATCH] tape: continue without MAM media_usage page sometimes we cannot parse these pages (e.g. vendor quirks that implement the field differently) Signed-off-by: Dominik Csapak --- pbs-tape/src/sg_tape.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pbs-tape/src/sg_tape.rs b/pbs-tape/src/sg_tape.rs index 7ad94d9d..6a5569ac 100644 --- a/pbs-tape/src/sg_tape.rs +++ b/pbs-tape/src/sg_tape.rs @@ -911,11 +911,16 @@ impl SgTape { status.block_number = Some(position.logical_object_number); if let Ok(mam) = self.cartridge_memory() { - let usage = mam_extract_media_usage(&mam)?; - - status.manufactured = Some(usage.manufactured); - status.bytes_read = Some(usage.bytes_read); - status.bytes_written = Some(usage.bytes_written); + match mam_extract_media_usage(&mam) { + Ok(usage) => { + status.manufactured = Some(usage.manufactured); + status.bytes_read = Some(usage.bytes_read); + status.bytes_written = Some(usage.bytes_written); + } + Err(err) => { + log::warn!("unable to get MAM media usage: {err}"); + } + } if let Ok(volume_stats) = self.volume_statistics() { let passes = std::cmp::max(