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: > > > If migration failed on source daemon, the migration is automatically > > > canceled by the daemon itself. Thus we don't need to call > > > virDomainMigrateConfirm3(cancelled=1). Calling it doesn't cause any harm > > > but the resulting error message printed in logs may confuse people. > > > --- > > > src/libvirt.c | 41 +++++++++++++++++++++++++---------------- > > > 1 files changed, 25 insertions(+), 16 deletions(-) > > > > 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? :-) Jirka -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list