disc: add debug logging for error type
This commit is contained in:
+10
-3
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user