DF-4760 / df4760_run.log
+ date Wed Sep 23 10:22:50 UTC 2026 + uname -a DragonFly dfbsd 6.5-DEVELOPMENT DragonFly 6.5-DEVELOPMENT #0: Thu Jul 2 06:02:54 UTC 2026 root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC x86_64 + kldload vinum kldload: can't load vinum: module already loaded or in kernel + sleep 1 + cc -O -o /tmp/hold_daemon /tmp/hold_daemon.c + vmstat -m + HPID=995 + sleep 2 + /tmp/hold_daemon 40 + vmstat -m + date Wed Sep 23 10:22:53 UTC 2026 + UPID=999 + sleep 5 + kldunload vinum + echo '==== ps of kldunload while holder still open (expect STAT S*, wchan vstop) ====' ==== ps of kldunload while holder still open (expect STAT S*, wchan vstop) ==== + ps -o pid,stat,wchan,command -p 999 PID STAT WCHAN COMMAND 999 D1 vstop kldunload vinum + vmstat -m + sleep 10 + echo '==== 15 s into the hang ====' ==== 15 s into the hang ==== + ps -o pid,stat,wchan,command -p 999 PID STAT WCHAN COMMAND + echo 'kldunload already gone (NOT expected)' kldunload already gone (NOT expected) + vmstat -m + sleep 10 + echo '==== 25 s into the hang ====' ==== 25 s into the hang ==== + ps -o pid,stat,wchan,command -p 999 PID STAT WCHAN COMMAND + echo 'kldunload already gone (NOT expected)' kldunload already gone (NOT expected) + vmstat -m + echo '==== waiting for holder to close (t=42) and kldunload to finish ====' ==== waiting for holder to close (t=42) and kldunload to finish ==== + wait 999 + echo 'KLDUNLOAD_RC=0' KLDUNLOAD_RC=0 + vmstat -m + echo '==== module state after ====' ==== module state after ==== + kldstat + grep -i vinum + echo 'vinum module gone (unloaded after close)' vinum module gone (unloaded after close) + echo '==== devbuf in-use (KB) timeline: m0 baseline, m1 pre-unload, m2 +7s, m3 +17s, m4 +27s, m5 post-close ====' ==== devbuf in-use (KB) timeline: m0 baseline, m1 pre-unload, m2 +7s, m3 +17s, m4 +27s, m5 post-close ==== + grep -i devbuf /tmp/m0 /tmp/m1 /tmp/m2 /tmp/m3 /tmp/m4 /tmp/m5 /tmp/m0: devbuf 219 217K 0 390M 249 /tmp/m1: devbuf 219 217K 0 390M 249 /tmp/m2: devbuf 2.07K 262K 0 390M 2.10K /tmp/m3: devbuf 2.07K 262K 0 390M 2.10K /tmp/m4: devbuf 2.07K 262K 0 390M 2.10K /tmp/m5: devbuf 2.07K 262K 0 390M 2.10K + cat /tmp/holder.log [holder] opened /dev/vinum/controld fd=3 (VF_DAEMONOPEN set); holding for 40s [holder] closing now - free_vinum loop should exit [holder] done