On Tue, Mar 20, 2018 at 20:34:37 +0000, Richard, Joseph wrote:
Hello all,
In order to reserve 64-bit address space for hotplugging, we are using the pcihole64
attribute on the root pci-controller.
When doing a live-migration using libvirt/qemu, the pci-root controller is dropped and
re-added on the destination side[1], which results in the pci controller's pcihole64
attribute that we configured when launching the VM being lost.
Is there any reason to not keep this (by not dropping it in
qemuDomainDefFormatBufInternal when pcihole64 is set on the controller) over a live
migration in this case?
I think that's probably an oversight. The pcihole64 was introduced
later and nobody realized the controller is dropped during migration.
The controller is dropped for backward compatibility with older libvirt
which didn't represent it in the XML. But once its configuration is
different from the one libvirt would add by itself, we definitely don't
want to drop it. Successful migration with such configuration would need
a new libvirt which understands the changed configuration anyway so it
wouldn't complain about unknown device when parsing the XML.
Jirka