[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] Do not try to cancel non-existent migration on source



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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]