diff --git a/src/tape/media_pool.rs b/src/tape/media_pool.rs index fc4410b0..be1db8be 100644 --- a/src/tape/media_pool.rs +++ b/src/tape/media_pool.rs @@ -126,6 +126,9 @@ impl MediaPool { self.encrypt_fingerprint.clone() } + pub fn set_media_status_damaged(&mut self, uuid: &Uuid) -> Result<(), Error> { + self.inventory.set_media_status_damaged(uuid) + } fn compute_media_state(&self, media_id: &MediaId) -> (MediaStatus, MediaLocation) { diff --git a/src/tape/pool_writer.rs b/src/tape/pool_writer.rs index 307ace5f..149c1913 100644 --- a/src/tape/pool_writer.rs +++ b/src/tape/pool_writer.rs @@ -225,6 +225,7 @@ impl PoolWriter { if !alert_flags.is_empty() { worker.log(format!("TapeAlertFlags: {:?}", alert_flags)); if tape_alert_flags_critical(alert_flags) { + self.pool.set_media_status_damaged(&media_uuid)?; bail!("aborting due to critical tape alert flags: {:?}", alert_flags); } }