diff --git a/src/disc/section_recover.rs b/src/disc/section_recover.rs index fdd85cf..6ce52be 100644 --- a/src/disc/section_recover.rs +++ b/src/disc/section_recover.rs @@ -42,16 +42,10 @@ const SECTOR: u64 = 2048; /// spans against granularity on dead ones. const BATCH_SECTORS: u64 = 32; -/// `Jump` handler: after this many consecutive failed batches, skip ahead to -/// find where readable data resumes rather than reading every dead sector. +/// `Jump` handler: after this many consecutive failed batches it jumps to the +/// middle of the remaining span (see the handler) to find where readable data +/// resumes rather than reading every dead sector. const JUMP_AFTER_FAILS: u32 = 2; -/// `Jump` initial skip distance; doubles after each jump, capped at -/// [`JUMP_CAP_BYTES`]. Starts large so a big dead region is cleared in a handful -/// of ~10 s probe reads instead of a dozen (each dead read costs the drive's -/// full timeout). A skipped span is left bad for Bisect to reclaim any readable -/// islands, so an over-jump loses nothing — it just defers precision. -const JUMP_BASE_BYTES: u64 = 8 << 20; // 8 MiB -const JUMP_CAP_BYTES: u64 = 256 << 20; // 256 MiB /// Where a handler left the section after its bounded attempt. #[derive(Debug, Clone, Copy, PartialEq, Eq)]