Description of problem: xhci usb controller with ports is used in my vm. I migrate vm from rhel7.3 to rhel7.2. Migration gets 100% process but unexpectedly failed finally. Libvirt should reject to migrate this vm prior to qemu-kvm rejects Version-Release number of selected component (if applicable): Source host: libvirt-2.0.0-6.el7.x86_64 qemu-kvm-rhev-2.6.0-22.el7.x86_64 Target host: libvirt-1.2.17-13.el7_2.5.x86_64 qemu-kvm-rhev-2.3.0-31.el7_2.21.x86_64 How reproducible: 100% Steps to Reproduce: 1. start vm with xhci usb controller with ports on source host <controller type='usb' index='1' model='nec-xhci' ports='8'> <alias name='usb1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </controller> # virsh list Id Name State ---------------------------------------------------- 7 vm-mig running 2. migrate vm # virsh migrate vm-mig qemu+ssh://10.66.4.113/system --verbose --live --unsafe root.4.113's password: Migration: [100 %]error: operation failed: job: unexpectedly failed Actual results: migration failed Expected results: Reject to migrate vm using usb-xhci controller with ports Additional info: addressed vm log on target host 2016-08-29T10:08:50.236359Z qemu-kvm: error while loading state for instance 0x0 of device '0000:00:08.0/xhci' 2016-08-29T10:08:50.236486Z qemu-kvm: load of migration failed: Input/output error 2016-08-29 10:08:50.237+0000: shutting down
Created attachment 1196140 [details] Domain configuration xml
We could avoid this kind of bugs by letting the destination daemon send the XML definition it used to start QEMU process for incoming migration back to the source daemon. Before actually starting the migration the source daemon would check the incoming definition and its internal definition for ABI compatibility and abort in case the two definitions are incompatible. This way the source could detect if the destination ignored some parts of the XML definition.
*** Bug 1529472 has been marked as a duplicate of this bug. ***
For migration from RHEL8.2-AV(libvirt-6.0.0-17.module+el8.2.0+6257+0d066c28.x86_64 qemu-kvm-4.2.0-17.module+el8.2.0+6141+0f540f16.x86_64) to RHEL8.1-AV(libvirt-5.6.0-10.module+el8.1.1+5309+6d656f05.x86_64 qemu-kvm-4.1.0-23.module+el8.1.1+6238+f5d69f68.3.x86_64), these elements will be ignored by old libvirt: 1. <slices> 2. <cookies>
*** Bug 1938956 has been marked as a duplicate of this bug. ***
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release. Therefore, it is being closed. If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.