On Thu, Nov 30, 2017 at 10:10:26AM -0500, John Ferlan wrote:


On 11/29/2017 09:58 AM, Ján Tomko wrote:
In status XML, we do not store the QEMU version information, we only
format all the capabilities. We dropped QEMU_CAPS_PCI_MULTIBUS
in commit 5b783379 which was released in libvirt 3.2.0.

Therefore the only way of telling if the already running domain
at the time of daemon restart has been started with a QEMU that does
use 'pci.0' or not on PPC is to look at the pci-root controller's
alias. This is not an option if the domain has a user-specified alias
for the pci-root.

Instead of reintroducing the capability, assume 'pci.0' when we have
no version information. That way the only left broken use case would
be the combination of user aliases and very old QEMU.

Does this only matter for user aliases?  I'm not totally clear on the
"scope" of the duration of the problem...


After patch 2/4 we only need to use virQEMUCapsHasPCIMultiBus for
controllers if the alias we read from XML is a user-specified alias,
after patch 3/4 virQEMUCapsHasPCIMultiBus is fixed to work on x86
after daemon restart too and after this patch, hotplug on the implicit
pci bus will not work on ppc if these conditions are met:
* the pci-root controller is using a user alias
* the daemon has been restarted while the domain was running
 so virQEMUCapsHasPCIMultiBus can no longer access the qemu version
* the QEMU is old enough to use 'pci' instead of 'pci.0'

Would this be essentially a partial revert of 3a37af1e4 ?

John

I have added the 'partial revert' comments, a helper as proposed for
patch 1/4 and pushed the series

Jan

Attachment: signature.asc
Description: Digital signature

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to