disc: add debug logging for error type

This commit is contained in:
2026-04-27 22:39:03 -07:00
parent d117f5b761
commit aff18207f0
2 changed files with 11 additions and 4 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "libfreemkv"
version = "0.13.29"
version = "0.13.30"
edition = "2024"
rust-version = "1.86"
license = "AGPL-3.0-only"
+10 -3
View File
@@ -1417,7 +1417,12 @@ impl Disc {
} else if block_result
.as_ref()
.err()
.map(|e| e.scsi_sense().map(|s| s.is_medium_error()).unwrap_or(false))
.map(|e| {
let sense = e.scsi_sense();
let is_medium = sense.map(|s| s.is_medium_error()).unwrap_or(false);
tracing::warn!(target: "freemkv::disc", "block error {:?} sense={:?} is_medium={}", e, sense, is_medium);
is_medium
})
.unwrap_or(false)
{
// 0.13.28: MEDIUM ERROR (bad sector) — skip this sector
@@ -1508,12 +1513,14 @@ impl Disc {
// 60 sectors either — bail with full sense info
// rather than chewing through bpt=1 timeouts.
if let Err(ref e) = one_result {
if e.scsi_sense().map(|s| s.is_medium_error()).unwrap_or(false) {
let is_medium = e.scsi_sense().map(|s| s.is_medium_error()).unwrap_or(false);
if is_medium {
// 0.13.28: MEDIUM ERROR in single mode — skip sector
tracing::trace!(
tracing::warn!(
target: "freemkv::disc",
phase = "skip_bad_sector",
lba = s_lba,
error = %e,
"MEDIUM ERROR in single mode; skipping"
);
let zero = vec![0u8; one_bytes];