
On Thu, Aug 25, 2011 at 13:30:43 -0600, Eric Blake wrote:
On 08/25/2011 01:03 PM, Jiri Denemark wrote:
On Tue, Aug 16, 2011 at 21:39:41 +0200, Jiri Denemark wrote:
On Tue, Aug 16, 2011 at 08:33:04 -0600, Eric Blake wrote:
On 08/16/2011 04:44 AM, Jiri Denemark wrote: Shouldn't qemu_migration.c get the same fix, since peer2peer and tunneled migration basically re-implement the same migration driver function?
It's reimplementing the same thing but in a different context. The code in libvirt.c runs on a client, while qemu_migration.c runs within the qemu driver in libvirtd. The virDomainMigratePrform3 API called from libvirt.c cleans up after itself; it resumes a domain and finishes the migration job in case of error. On the other hand, everything in doPeer2PeerMigrate3 is run within a single public API and the function called to do the Perform phase is an internal function which doesn't clean up after itself in the same way as the public API has to. Hence, we need to call qemuMigrationConfirm to actually resume the domain even if the Perform phase failed.
Ping. Did I manage to convince you this patch is complete? :-)
Yes. ACK, although since I just pushed Alex' patch, you might have a merge conflict to fix when you rebase.
No problem, thanks and pushed. Jirka