All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: qemu-devel@nongnu.org, Juan Quintela <quintela@redhat.com>
Subject: Re: [Qemu-devel] Re: [PATCH 3/5] QMP: Introduce MIGRATION events
Date: Wed, 26 May 2010 11:16:27 +0100	[thread overview]
Message-ID: <20100526101627.GJ18547@redhat.com> (raw)
In-Reply-To: <4BFBFBCB.2070806@codemonkey.ws>

On Tue, May 25, 2010 at 11:33:15AM -0500, Anthony Liguori wrote:
> On 05/25/2010 11:25 AM, Daniel P. Berrange wrote:
> >  With some disk locking
> >approaches we need todo a lock transfer before allowing the dest
> >to continue running.
> 
> QEMU is going to read the disk before the migration completes so the 
> lock transfer is not going to work with the current implementation (it 
> needs to read the disk to do probing).  I assume this is not something 
> that's actually been implemented.

Lock transfer upon migration is a two-phase process. When the QEMU
process for incoming migration starts a shared lock is held. Upon
completion of migration an attempt is made to upgrade this to an
exclusive lock. Only if this upgrade succeeds the dest is allowed 
to start running. 

> >  It could be optimized to avoid the -S /cont
> >in cases where those two scenarios aren't relevant, but only if
> >we can get a separate async notification of when migration starts
> >and completes on the destination, so we can notify mgmt apps that
> >need this lifecycle event.
> >   
> 
> Migration completes == guest starts running.  You'll get a notification 
> of that but you're not getting that now because you're doing -S which 
> I'd argue is a functional problem on the part of libvirt (you're 
> breaking the downtime contract).

If doing non-live migration, or restoring a saved image which was
originally in the paused state, there is no 'guest starts running'
event. You cannot reliably infer that migration completed by looking
for a RESUME event. Hence the need for an explicit notification
for the end of migration events.

> I'm not sure why you would need a notification of when migration starts 
> (since you know when you've started migration).

The destination only knows that it has started a QEMU instance ready
for incoming migration. It doesn't know when / if an incoming migration
has actually been accepted & started processing. Hence the need for an
explicit notification for the start of migration.


Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

  parent reply	other threads:[~2010-05-26 10:16 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-25 14:21 [Qemu-devel] [PATCH v2 0/5] Add QMP migration events Juan Quintela
2010-05-25 14:21 ` [Qemu-devel] [PATCH 1/5] Exit if incoming migration fails Juan Quintela
2010-05-25 18:01   ` Luiz Capitulino
2010-05-25 18:37     ` [Qemu-devel] " Juan Quintela
2010-05-25 18:52       ` Anthony Liguori
2010-05-25 14:21 ` [Qemu-devel] [PATCH 2/5] Factorize common migration incoming code Juan Quintela
2010-05-25 14:21 ` [Qemu-devel] [PATCH 3/5] QMP: Introduce MIGRATION events Juan Quintela
2010-05-25 15:09   ` Anthony Liguori
2010-05-25 15:35     ` [Qemu-devel] " Juan Quintela
2010-05-25 15:52       ` Daniel P. Berrange
2010-05-25 15:57       ` Anthony Liguori
2010-05-25 16:04         ` Juan Quintela
2010-05-25 16:10           ` Anthony Liguori
2010-05-25 18:13             ` Luiz Capitulino
2010-05-25 16:04         ` Daniel P. Berrange
2010-05-25 16:04         ` Juan Quintela
2010-05-25 16:25           ` Daniel P. Berrange
2010-05-25 16:33             ` Anthony Liguori
2010-05-25 16:43               ` Juan Quintela
2010-05-26 10:33                 ` Daniel P. Berrange
2010-05-26 14:54                   ` Anthony Liguori
2010-05-26 15:15                     ` Daniel P. Berrange
2010-05-26 16:55                       ` Anthony Liguori
2010-05-27 13:48                         ` Luiz Capitulino
2010-05-27 15:58                           ` Juan Quintela
2010-05-27 16:07                             ` Luiz Capitulino
2010-05-27 16:07                             ` Anthony Liguori
2010-05-26 10:16               ` Daniel P. Berrange [this message]
2010-05-25 18:21       ` Luiz Capitulino
2010-05-25 18:38         ` Juan Quintela
2010-05-25 15:48     ` [Qemu-devel] " Daniel P. Berrange
2010-05-25 18:31   ` Luiz Capitulino
2010-05-25 18:51     ` Anthony Liguori
2010-05-26 13:14       ` Luiz Capitulino
2010-05-25 14:21 ` [Qemu-devel] [PATCH 4/5] QMP: Emit migration events on incoming migration Juan Quintela
2010-05-25 14:21 ` [Qemu-devel] [PATCH 5/5] QMP: Emit migration events on outgoing migration Juan Quintela
  -- strict thread matches above, loose matches on Subject: below --
2010-05-24  8:25 [Qemu-devel] [PATCH 0/5] Add QMP migration events Juan Quintela
2010-05-24  8:25 ` [Qemu-devel] [PATCH 3/5] QMP: Introduce MIGRATION events Juan Quintela
2010-05-24  9:04   ` [Qemu-devel] " Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100526101627.GJ18547@redhat.com \
    --to=berrange@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.