#!/bin/sh
# DF-4760 v3 — decisive sampling: does the free_vinum "vstop" loop run
# for the entire hold window (devbuf grows linearly, ps shows D/vstop),
# or does it stop early?
set -x
date
kldunload vinum 2>/dev/null; sleep 1
kldload vinum; sleep 1
/tmp/hold_daemon 26 > /tmp/holder3.log 2>&1 &
sleep 2
kldunload vinum &
UPID=$!
for i in 1 2 3 4 5 6 7 8 9 10 11; do
  sleep 2
  echo "== sample $i (t=$((2*i*1))s after unload start) =="
  vmstat -m | grep -i devbuf
  ps -ax -o pid,stat,wchan,command > /tmp/ps.$i
  grep -E 'kldunload|hold_daemon' /tmp/ps.$i || echo "(no kldunload/holder rows)"
done
wait $UPID
echo "KLDUNLOAD_RC=$?"
kldstat | grep -i vinum || echo "module gone"
cat /tmp/holder3.log
date
