I have been experimenting with things related to my issue when using part_blk with ahci, and I have found that it works fine in both QEMU and Virtualbox. However, when I combine part_blk with usb_drv, I encounter what appears to be the exact same problem, but it only occurs on some of the kernels. The scenario works bug-free on okl4 and fiasco, but freezes on foc and nova. Note that other servers such as rump_fs work just fine with the usb driver, so the problem isn't a simple driver failure. I've attached the run script for the usb and part_blk scenario. I hope this helps fix my AHCI issue (which only occurs on real hardware) as well.