From: "Michael R. Hines" <mrhines@linux.vnet.ibm.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
Juan Quintela <quintela@redhat.com>,
"Michael R. Hines" <mrhines@us.ibm.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3 2/4] migration: fix spice migration
Date: Mon, 29 Jul 2013 12:52:42 -0400 [thread overview]
Message-ID: <51F69DDA.8060706@linux.vnet.ibm.com> (raw)
In-Reply-To: <20130729150133.GA16864@stefanha-thinkpad.redhat.com>
On 07/29/2013 11:01 AM, Stefan Hajnoczi wrote:
> On Mon, Jul 29, 2013 at 10:46:50AM -0400, Michael R. Hines wrote:
>> On 07/29/2013 09:01 AM, Stefan Hajnoczi wrote:
>>> Commit 29ae8a4133082e16970c9d4be09f4b6a15034617 ("rdma: introduce
>>> MIG_STATE_NONE and change MIG_STATE_SETUP state transition") changed the
>>> state transitions during migration setup.
>>>
>>> Spice used to be notified with MIG_STATE_ACTIVE and it detected this
>>> using migration_is_active(). Spice is now notified with
>>> MIG_STATE_SETUP and migration_is_active() no longer works.
>>>
>>> Replace migration_is_active() with migration_in_setup() to fix spice
>>> migration.
>>>
>>> Cc: Michael R. Hines <mrhines@us.ibm.com>
>>> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
>>> ---
>>> include/migration/migration.h | 2 +-
>>> migration.c | 4 ++--
>>> ui/spice-core.c | 2 +-
>>> 3 files changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/include/migration/migration.h b/include/migration/migration.h
>>> index 08c772d..140e6b4 100644
>>> --- a/include/migration/migration.h
>>> +++ b/include/migration/migration.h
>>> @@ -90,7 +90,7 @@ int migrate_fd_close(MigrationState *s);
>>>
>>> void add_migration_state_change_notifier(Notifier *notify);
>>> void remove_migration_state_change_notifier(Notifier *notify);
>>> -bool migration_is_active(MigrationState *);
>>> +bool migration_in_setup(MigrationState *);
>>> bool migration_has_finished(MigrationState *);
>>> bool migration_has_failed(MigrationState *);
>>> MigrationState *migrate_get_current(void);
>>> diff --git a/migration.c b/migration.c
>>> index a5ed26b..9fc7294 100644
>>> --- a/migration.c
>>> +++ b/migration.c
>>> @@ -338,9 +338,9 @@ void remove_migration_state_change_notifier(Notifier *notify)
>>> notifier_remove(notify);
>>> }
>>>
>>> -bool migration_is_active(MigrationState *s)
>>> +bool migration_in_setup(MigrationState *s)
>>> {
>>> - return s->state == MIG_STATE_ACTIVE;
>>> + return s->state == MIG_STATE_SETUP;
>>> }
>>>
>>> bool migration_has_finished(MigrationState *s)
>>> diff --git a/ui/spice-core.c b/ui/spice-core.c
>>> index f308fd9..033fd89 100644
>>> --- a/ui/spice-core.c
>>> +++ b/ui/spice-core.c
>>> @@ -563,7 +563,7 @@ static void migration_state_notifier(Notifier *notifier, void *data)
>>> {
>>> MigrationState *s = data;
>>>
>>> - if (migration_is_active(s)) {
>>> + if (migration_in_setup(s)) {
>>> spice_server_migrate_start(spice_server);
>>> } else if (migration_has_finished(s)) {
>>> spice_server_migrate_end(spice_server, true);
>> Do we really have to replace this function? Can we just add a new function?
> Yes, migration_is_active() is deadcode since there are no callers.
>
> There is also no way to receive a migration state change callback with
> ACTIVE. The notifiers are not called on the SETUP -> ACTIVE transition
> because the migration thread does cmpxchg only (it doesn't invoke
> notifiers).
>
> If someone would like it again in the future they will first need to
> decide how to notify when the migration thread transitions states.
> Leaving this function around would be misleading since it cannot be used
> correctly at the moment.
>
> Stefan
>
Acknowledged.
- Michael
next prev parent reply other threads:[~2013-07-29 16:53 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-29 13:01 [Qemu-devel] [PATCH v3 0/4] dataplane: virtio-blk live migration with x-data-plane=on Stefan Hajnoczi
2013-07-29 13:01 ` [Qemu-devel] [PATCH v3 1/4] migration: notify migration state before starting thread Stefan Hajnoczi
2013-07-29 13:01 ` [Qemu-devel] [PATCH v3 2/4] migration: fix spice migration Stefan Hajnoczi
2013-07-29 14:46 ` Michael R. Hines
2013-07-29 15:01 ` Stefan Hajnoczi
2013-07-29 16:52 ` Michael R. Hines [this message]
2013-07-29 13:01 ` [Qemu-devel] [PATCH v3 3/4] dataplane: enable virtio-blk x-data-plane=on live migration Stefan Hajnoczi
2013-07-29 13:02 ` [Qemu-devel] [PATCH v3 4/4] dataplane: refuse to start if device is already in use Stefan Hajnoczi
2013-07-29 13:25 ` [Qemu-devel] [PATCH v3 0/4] dataplane: virtio-blk live migration with x-data-plane=on Kevin Wolf
2013-07-29 15:20 ` Stefan Hajnoczi
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=51F69DDA.8060706@linux.vnet.ibm.com \
--to=mrhines@linux.vnet.ibm.com \
--cc=kwolf@redhat.com \
--cc=mrhines@us.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=stefanha@gmail.com \
--cc=stefanha@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).