Dear list, my USB address assignment code (released in 2.1.0) incorrectly assumed that older libvirt allows specifying USB addresses for all usb devices: https://bugzilla.redhat.com/show_bug.cgi?id=1360963
For usb-ccid devices, this is only possible since commit 2dabe2e0 (Released in libvirt 1.3.3 this April). Before that, we required either a PCI address or no address for all controllers, a USB address will be rejected by the XML parser. The only reliable way to fix this that I could think of is: not to assign addresses to domains which might need to be migrated backwards. This is doable downstream where we can make assumptions on the version of libvirt based on the machine type, but that won't work upstream. I have considered dropping just the USB address of the CCID controller from the XML if we do not know that we are migrating to a new enough libvirt (that would be 2.2.0 since it would need a new driver flag and migration flag), but that would only fix it for cases where the address generated by libvirt matches the one that QEMU will give it. But if it does not, migration to libvirt 1.3.3 to 2.1.0 will be broken. Do you have any ideas how this might be fixed (other than reverting the assignment), or is this something that downstreams have to deal with? Jan
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list