Currently, the QEMU driver tries to migrate paused VMs, but the effect is that the migrated virtual machine will always run on the destination. Furthermore, the state is erroneously stored as paused, so that the driver is left confused and it is not possible to re-pause the VM without doing a (useless except to make the libvirtd state consistent) "virsh resume" first. While pausing is not very used, this feature is still nice-to-have in case for example you're migrating all VMs in emergency, or (when QEMU will have asynchronous notifications) if you want to run QEMU with the werror=stop option (*). This set of patches is structured as follows: 1) patches 1 and 2 fix two bugs that were introduced by the recent reorganization. 2) patch 3 fixes a bug that happens to be in the paths touched later on; 3) patch 4 adds the possibility to migrate a VM and leave it suspended on the destination VM. I added the feature for debugging and thought I might as well submit it for inclusion. Especially if the last two patches turn out to be a no-go (at least in their current form), this patch at least provides the infrastructure and a way to test it. 4) patches 5 and 6 actually fix the bug. Unfortunately, this requires a change to the RPC protocol. I'm not sure whether it is required the libvirtd's on both sides of the migration to have the same version, or rather if this is a deal breaker. The change to the protocol is in patch 5; the bug fix is in patch 6. Please review and ack (or, for the last two, nack). Paolo (*) While the state of the migrated VM is currently fetched at the beginning of migration, the communication happens at the end of it (from Perform to Finish), so this is ready for being improved in the future once QEMU provides asynchronous notifications. -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list