Separates filesystem access accounting from helper queueing so healthy reads on a loaded machine are no longer reported as blocked. The per-access time cap starts only when an admitted helper begins work; time spent waiting in the helper queue no longer counts against it. Calls that never start report read_io_queue_timeout instead of read_blocked, while the caller's own deadline stays enforced during access. Directory-probe waiters follow the owner's queue and access phase deadlines, so queue starvation and blocked running access report distinct codes while each waiter's shorter request deadline is retained.
Tests
Adds regression tests for queue wait not consuming the access cap, shared-probe waiter deadline and timeout-code coverage, and running access retaining the shorter request deadline.
Adds a 10,000-file grep integration test covering indexed and fallback root probes, plus a release note and a benchmark slice descriptor.
Confidence Score: 5/5
The PR appears safe to merge; no new actionable issues or outstanding previous findings remain.
Summary
This PR gives filesystem queueing and running access separate time limits.
Filesystem access gets a fresh time limit when helper work starts.
Directory waiters follow the shared probe’s current deadline.
Both supplied previous findings are addressed in the current code. Neither thread has a supplied comment number, so neither appears in previousFindings. No new actionable issues were found.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart TD
Q[Wait for helper] --> S{Helper starts before queue deadline?}
S -->|No| QT[read_io_queue_timeout]
S -->|Yes| A[Start separate access allowance]
A --> D[Keep the earlier request deadline]
D --> C{Access finishes in time?}
C -->|Yes| R[Return result]
C -->|No| B[read_blocked]
W[Shared directory waiters] --> F[Follow owner's phase deadline]
F --> D