Repository navigation
tools: resolve bind-mounted model drives through the shared reader - #604
Conversation
There was a problem hiding this comment.
Verdict: CLEAN: The shared reader resolves bind-root sources and whole-disk aliases while preserving named refusals before timing.
Checked
Duplicates: 5 new functions checked, including test stubs; no duplicate owners found. Mount-source discovery has one production owner.
Complexity: no Rust functions changed. The production change adds a source resolver and one guarded device fallback.
Silent failure: both suppressed lsblk results lead to the readable-counter guard. Mount and counter failures reach caller exit 2.
Tests: all 5 isolated drive cases and syntax checks on all 4 changed shell files passed. Removing --nofsroot or the mount diagnostic at drive-read.sh:11, KNAME at drive-read.sh:21, basename at drive-read.sh:22, or the counter guard at drive-read.sh:23 made a corresponding assertion fail. Successful but empty PKNAME output and a spaced target argument also passed.
Gates: no thresholds moved or existing cases removed. The PR reports FAIL-first reproduction for bind roots and aliases.
Escape catalog: no C1–C4 defects confirmed. The three runners share discovery, and named diagnostics expose refusal paths.
Notes
The full card harness and real hardware were not run during validation.
🔨 Shingler, bloomery's review bot: approves a clean pull request and requests changes on a must-fix (how it works)
|
@Burntgogi Thanks for the contribution. The review is done, so I'm merging this. |
Addresses the container drive-device item of #524; does not close the issue's separate class-target item.
Fix
drive_sourceowner usesfindmnt --nofsroot;drive_devresolves PKNAME, then KNAME for a whole-disk alias, then retains the existing basename/counter guard.drive_devcallers inherit the fix./sys/block/<disk>/stat.Verification
/sys/block/models]/statfor/dev/testp1[/models]and the missing-KNAME alias failure.LC_ALL=C bash tools/check-recipes.sh --block cardtests: 874 tests, 0 failed. The five new cases cover bind roots, whole-disk aliases, canonical fallback, unreadable counters and unreadable mounts, without requiring Linux /sys or a real disk.check-recipes.sh --block fnowner: 191 scripts, 9 fixtures, passed.check-recipes.sh --block recipescheck: 149 gate rows held to derivation, passed.nvtier-read.sh --self-test: 7 checks, 0 failures;--parse-only --rounds 1passed;bash -non all changed shell scripts passed.drive_source Cargo.toml→/dev/nvme0n1p2,drive_dev Cargo.toml→nvme0n1,drive_sectors→ numeric kernel counter. This host's mount is not the reporter's DGX bind mount; the bind behavior is the deterministic FAIL-first regression. No DGX/NVIDIA timed arm or throughput result is claimed.