[libvirt-users] "INTx fd" busy error on VM startup at boot, subsequent startup okay

Pittman, Randall Randall.Pittman at oregonstate.edu
Tue Mar 29 18:39:36 UTC 2016


Hey Mike, did you ever have any success figuring out this issue? I am having the same problem  (on CentOS 7) with a custom data acquisition PCI card. It seems like the solution might have something to do with delaying the start of libvirtd in systemd until the PCI card (or vfio?) is ready, but I don’t know how to do that. Can anyone else offer assistance?

My output:
2016-03-29T18:29:26.191010Z qemu-kvm: -device vfio-pci,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x7: vfio: Error: Failed to setup INTx fd: Device or resource busy
2016-03-29T18:29:26.289154Z qemu-kvm: -device vfio-pci,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x7: Device initialization failed.
2016-03-29T18:29:26.289195Z qemu-kvm: -device vfio-pci,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x7: Device 'vfio-pci' could not be initialized
2016-03-29 18:29:26.337+0000: shutting down

Thanks,
Randy

<--Original Message-->

Hey all,


I'm getting an error starting a libvirt managed qemu/kvm VM at physical host boot time, but manually starting it afterwards works fine. This is on a Ubuntu Wily i7-4790 box running Linux 4.2 and libvirt 1.2.16. There is a legacy (5V) PCI card being passed through to the VM, the error seems to relate to that.


The error that always appears at boot in `/var/log/libvirt/qemu/test-vm.log` is:


2016-01-11T05:29:28.487935Z qemu-system-x86_64: -device vfio-pci,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x4: vfio: Error: Failed to setup INTx fd: Device or resource busy 2016-01-11T05:29:28.488148Z qemu-system-x86_64: -device vfio-pci,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x4: Device initialization failed 2016-01-11T05:29:28.488169Z qemu-system-x86_64: -device vfio-pci,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x4: Device 'vfio-pci' could not be initialized


After the physical machine has completed booting, starting the VM via virsh or virt-manager works fine.


The card is an old Firewire card. I have blacklisted the firewire modules on the physical machine so they aren't loaded, but is it possible that the kernel, udev or some other process still has access to the device when systemd starts the libvirt-bin service?



Any clues greatly appreciated.



Thanks,

//Mike



--

⊨ Michael Gratton, Percept Wrangler.

⚙ <http://mjog.vee.net/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20160329/855d0bff/attachment.htm>


More information about the libvirt-users mailing list