From 5c8b4dc7c50f457e9166db88c3ab652327738147 Mon Sep 17 00:00:00 2001 From: Matthew Jackson <1085847+MattJackson@users.noreply.github.com> Date: Sun, 2 Aug 2026 16:18:19 -0700 Subject: [PATCH] Note the bounded display-count over-count on a stalled read retry --- src/disc/pgs_forced_probe.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/disc/pgs_forced_probe.rs b/src/disc/pgs_forced_probe.rs index 3a6e910..a7c3091 100644 --- a/src/disc/pgs_forced_probe.rs +++ b/src/disc/pgs_forced_probe.rs @@ -605,9 +605,12 @@ pub(crate) fn probe_and_set_forced( // Bounded retries are what keep a source that never yields a unit // (including one that claims sectors and returns none) from // spinning here for ever. A retry that re-serves the same bytes - // feeds them twice; the evidence a [`ForcedTracker`] keeps is - // monotone (observed / saw-a-non-forced-set), so a repeat cannot - // change a verdict. + // feeds them twice: the BOOLEAN evidence is monotone (observed / + // saw-a-non-forced-set / saw-a-forced-set), so a repeat cannot + // change it, and the display COUNT can over-count by at most + // [`STALL_RETRY_LIMIT`] repeats of a sub-unit (< 6 KB) read — + // too little to move the shape comparison the demotion gate + // makes, which is against the busiest track on the disc. for pes in demux.feed(&buf[..n.min(want)]) { if let (Some(parser), Some(tracker)) = (parsers.get_mut(&pes.pid), trackers.get_mut(&pes.pid))