[libvirt] [PATCH 3/3] qemu_domain: use correct default USB controller on ppc64
Andrea Bolognani
abologna at redhat.com
Mon Mar 6 19:11:40 UTC 2017
On Thu, 2017-03-02 at 09:48 +0100, Pavel Hrdina wrote:
> The history of USB controller for ppc64 guest is complex and goes
> back to libvirt 1.3.1 where the fun started.
>
> Prior Libvirt 1.3.1 if no model for USB controller was specified
> we've simply passed "-usb" on QEMU command line.
>
> Since Libvirt 1.3.1 there is a patch (8156493d8db) that fixes this
> issue by using "-device pci-ohci,..." but it breaks migration with
> older Libvirts which was agreed that's acceptable. However this
> patch didn't reflect this change in the domain XML and the model
> was still missing.
Unfortunately, migrating a guest with
<controller type='usb' index='0'>
<address type='pci' .../>
</controller>
from libvirt 2.1.0 (which still allows not specifying the
controller model) to a build of libvirt including this patch
doesn't work as expected.
On the source host, I run
# virsh migrate \
mig-usb \
qemu+ssh://root@destination/system \
--live --persistent --copy-storage-all --compressed
While migration is still running, I can check on the
destination host and verify that:
* the <controller> element has model='pci-ohci';
* the QEMU command line contains -device pci-ohci.
However, after migration is complete, the <controller>
element has model='nec-xhci' instead of model='pci-ohci',
which means that power cycling the guest results in
breaking the guest ABI.
--
Andrea Bolognani / Red Hat / Virtualization
More information about the libvir-list
mailing list