
On Fri, Mar 09, 2018 at 12:56:12 +0100, Michal Privoznik wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1553162
When validating a device XML config we check if user provided alias is unique. We do this by maintaining a hash table of device aliases as we iterated over all devices defined for the domain. However, it may happen that what appears as two devices in domain XML is in fact just one interface in hypervisor. For instance in qemu driver this is true for uhci/ehci controllers. In that case an error is reported even though it is not actually an error. At any rate, we can assume libvirt generated aliases to be unique and thus really check user provided ones only.
So I find some parts of this description slightly misleading. I agree that we should only validate that the user-provided aliases are unique, since libvirt should do the proper thing otherwise and the user-aliases are in it's own namespace. I think though that the hint to the usb controller requiring multiple devices from the libvirt view map to a single device in qemu, or any other reason why two libvirt entries should have the same alias is not future-proof enough. With this commit you make it possible to use it with the default alias, but it still might be possible to use with a user alias. ACK to this patch, since I think it's the correct thing to do, but please delete the irrelevant blurb about uhci/ehci in qemu.