DF-5071 / run_ab.log
== kldload fixed variant == == sanity: read while ONLINE completes normally == wedge: pread@2097152 r=512 errno=0(ok) == wedgehold: open fd BEFORE shutdown, pread after (fixed: ENXIO) == == shutdown WITH FIX: drain fires == shutdown: ioctl ok == wait for the held fd's pread: expect immediate ENXIO, no D-state == PID STAT WCHAN COMMAND wedgehold gone (completed) wedgehold: fd=3 open BEFORE shutdown; sleeping 6s then pread@2M wedgehold: pread@2M r=-1 errno=6(Device not configured) — returned only when the bio was completed externally == kernel log == df5071f: unload -- draining 6 parked bio(s) df5071f: raw disk "df5071f0" + ctl up (ONLINE) M-bM^@M^T ctl ioctls 71/72/73 = shutdown/poke/online; open() carries the verbatim amrd_open ENXIO gate df5071f: amr_pci_shutdown/amr_rescan_drives: AMR_STATE_SHUTDOWN set; amr_bioq NOT drained (4 bio(s) already parked); amrd_strategy has NO shutdown gate df5071f: (fixed) draining 4 parked bio(s) with ENXIO == unload (clean) == DONE-AB