I forgot to mention in the cover letter - there is a bug in the QEMU
4.2.0 release that causes the qemu process to crash whenever the vfio
device is unplugged, and for some reason when booting a Fedora 31 guest
with a failover pair, the guest kernel attempts to unplug the vfio
device during its initial boot! Fortunately that bug is already fixed,
by this qemu commit:
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=0446f8121723b134ca1d1ed0b73e96d4a0a8689d;hp=48008198270e3ebcc9394401d676c54ed5ac139c
We've also noticed that if the vfio device of the pair is manually
unplugged from the guest, the DEVICE_DELETED event never makes it back
up to libvirt, and so the device isn't removed from the libvirt config
for the guest, is marked as still in-use, and can't be re-plugged into
the same or any other guest until that particular guest is shut down. We
still haven't found the root cause of that problem, but it seems likely
it's not in these patches (more likely an issue in qemu or in the
guest), so I posted them :-)