For https://bugzilla.redhat.com/show_bug.cgi?id=1215968 For domains started without the addresses specified on the command line, QEMU makes up the addresses and adds USB hubs if the device is added to the second-to-last USB port. A domain started with these exact ports and hubs specified on the command line is not compatible with this domain. This series only generates the addresses for new domains, to avoid breaking migrating already existing domains. Ján Tomko (9): Remove dead code from qemuDomainAttachControllerDevice Remove unused virDomainVirtioSerialAddrSetRemoveController Store USB port path as an array of integers Add newDomain parameter to qemuDomainAssignAddresses Introduce virDomainUSBAddressSet Add functions for adding usb controllers to addrs Reserve existing USB addresses Assign addresses to USB devices Assign addresses on USB device hotplug src/conf/domain_addr.c | 406 +++++++++++++++++++-- src/conf/domain_addr.h | 53 ++- src/conf/domain_conf.c | 29 +- src/conf/domain_conf.h | 4 +- src/libvirt_private.syms | 10 +- src/qemu/qemu_command.c | 235 +++++++++++- src/qemu/qemu_command.h | 3 +- src/qemu/qemu_domain.h | 1 + src/qemu/qemu_driver.c | 22 +- src/qemu/qemu_hotplug.c | 57 ++- src/qemu/qemu_process.c | 6 +- tests/qemuhotplugtest.c | 2 +- ...qemuhotplug-console-compat-2+console-virtio.xml | 4 +- .../qemuhotplug-hotplug-base+disk-usb.xml | 1 + .../qemuxml2argvdata/qemuxml2argv-bios-nvram.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-bios.args | 2 +- .../qemuxml2argv-console-compat-2.xml | 4 +- .../qemuxml2argv-controller-order.args | 7 +- .../qemuxml2argv-controller-order.xml | 2 + .../qemuxml2argv-disk-usb-device-removable.args | 3 +- .../qemuxml2argv-disk-usb-device.args | 3 +- .../qemuxml2argv-graphics-spice-timeout.args | 2 +- ...muxml2argv-hostdev-usb-address-device-boot.args | 2 +- .../qemuxml2argv-hostdev-usb-address-device.args | 3 +- .../qemuxml2argv-hugepages-numa.args | 2 +- .../qemuxml2argv-input-usbmouse-addr.args | 2 +- .../qemuxml2argv-input-usbmouse-addr.xml | 2 +- .../qemuxml2argv-pseries-usb-kbd.args | 2 +- .../qemuxml2argv-serial-spiceport.args | 2 +- .../qemuxml2argv-smartcard-controller.args | 2 +- .../qemuxml2argv-smartcard-host-certificates.args | 2 +- .../qemuxml2argv-smartcard-host.args | 2 +- ...emuxml2argv-smartcard-passthrough-spicevmc.args | 3 +- .../qemuxml2argv-smartcard-passthrough-tcp.args | 2 +- .../qemuxml2argv-sound-device.args | 2 +- .../qemuxml2argv-usb-hub-conflict.xml | 22 ++ .../qemuxml2argv-usb-port-autoassign.args | 15 + .../qemuxml2argv-usb-port-autoassign.xml | 27 ++ tests/qemuxml2argvtest.c | 11 +- tests/qemuxmlnstest.c | 2 +- 40 files changed, 854 insertions(+), 109 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-hub-conflict.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-port-autoassign.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-port-autoassign.xml -- 2.4.6 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list