提交 31de0fab 编写于 作者: A Andrea Bolognani

qemu: domain: Drop piix3-ohci controller for migration

Now that the default USB controller model is explicit rather
than implicit for i440fx machines, we have to tweak the
conditions for dropping it in order to keep migration towards
libvirt <= 0.9.4 working.
上级 f55eaccb
......@@ -3315,12 +3315,20 @@ qemuDomainDefFormatBuf(virQEMUDriverPtr driver,
usb = def->controllers[i];
}
}
/* The original purpose of the check was the migration compatibility
* with libvirt <= 0.9.4. Limitation doesn't apply to other archs
* and can cause problems on PPC64.
/* In order to maintain compatibility with version of libvirt that
* didn't support <controller type='usb'/> (<= 0.9.4), we need to
* drop the default USB controller, ie. a USB controller at index
* zero with no model or with the default piix3-ohci model.
*
* However, we only need to do so for x86 i440fx machine types,
* because other architectures and machine types were introduced
* when libvirt already supported <controller type='usb'/>.
*/
if (ARCH_IS_X86(def->os.arch) && qemuDomainMachineIsI440FX(def) &&
usb && usb->idx == 0 && usb->model == -1) {
usb && usb->idx == 0 &&
(usb->model == -1 ||
usb->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_PIIX3_UHCI)) {
VIR_DEBUG("Removing default USB controller from domain '%s'"
" for migration compatibility", def->name);
toremove++;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册