DF-3170 / fix_run.log
DF-3170 fix validation run โ PATCHED kernel (#1 Mon Sep 7 16:11:15 UTC 2026),
QEMU/KVM 6 vCPUs, INVARIANTS X86_64_GENERIC.
Setup (root):
mkdir -p /mnt/mfs3 && chmod 1777 /mnt/mfs3
(mount_mfs -s 32768 swap /mnt/mfs3 &)
-> /dev/mfs1108 on /mnt/mfs3 (mfs, asynchronous, local), server pid 1108
Stress (unprivileged maxx), identical pattern to the baseline panic run
(6 writers, 2 files each, 512-byte O_SYNC pwrite/pread, 6 vCPUs):
for i in 1 2 3 4 5 6; do (nohup /tmp/mfsrace /mnt/mfs3 2 >/tmp/r3.$i.log 2>&1 </dev/null &); done
Additionally running concurrently during most of the window (extra load):
- 4 writers on a second MFS (/mnt/mfs2, ENOSPC-pressured = worst-case churn)
- the DF-3171 kill sequence executed against a third MFS (devfs#2 RO open +
umount -f) at ~T+11min
Progress (per-writer counters, iters at N seconds):
T+21s: 262144 iters (6 writers)
T+41s: 524288 iters
T+70s: 524288-786432 iters
T+475s: 3407872 iters
T+662s: 4718592 iters
T+705s: 6291456 iters (pid 1126)
Aggregate: >4M synchronous I/O ops per writer sustained for 11+ minutes
(~7-12k ops/s/writer; ~74k ops/s aggregate peak) across two MFS mounts
simultaneously, plus a forced devfs unmount mid-run.
RESULT: NO panic, NO wedge, NO lost bios (all writer counters monotonically
advancing; guest up; all three MFS servers alive in mfsidl at teardown of
the test; MFS_node allocations = 3, no leak).
BASELINE COMPARISON: stock kernel #0 panicked within ~3 minutes of the same
6-writer stress:
panic: Bad link elm 0xfffff8004f593d48 prev->next != elm (from mfs_start)
and a second stock run panicked in <=90s during concurrent stress:
panic: Bad tailq NEXT(...->tqh_last) != NULL, last ... (from mfsstrategy)
[see panic.txt and run.2.log โ the second stock panic is DF-3170's
producer-side manifestation; initially misattributed to DF-3171, corrected
in this pack's VERDICT.md]
CONCLUSION: fix_status=fixed โ the unsynchronized producer/consumer race no
longer manifests under stress that reliably panics the stock kernel.