DF-4900 / fix_test.sh
#!/bin/sh # DF-4900 fix validation: patched dm module must refuse the 513th unit # cleanly (ENOSPC) instead of panicking. echo "== loading PATCHED dm module ==" kldload /usr/obj/usr/src/sys/dev/disk/dm/dm.ko || exit 1 kldstat -v | grep -m1 "dm " ; kldstat | grep dm echo "== 512 creates (should all succeed) ==" i=0 while [ $i -lt 512 ]; do dmsetup create $(printf f%04d $i) --notable >/dev/null 2>&1 || { echo "UNEXPECTED FAIL at $i"; exit 1; } i=$((i+1)) done echo "512 created OK; d0000 minor: $(ls -lH /dev/mapper/f0000 | awk '{print $5 $6}')" echo "== 513th create (must fail cleanly, no panic) ==" if dmsetup create f0512 --notable >/dev/null 2>&1; then echo "NOT FIXED: 513th create succeeded" else echo "513th create refused: $?" fi echo "still alive: $(uptime)" dmsetup remove_all echo "fix validation complete" |