All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Wei Yang <richardw.yang@linux.intel.com>
Cc: Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-devel@nongnu.org, quintela@redhat.com
Subject: Re: [Qemu-devel] [PATCH 2/4] migration/savevm: use migration_is_blocked to validate
Date: Tue, 14 May 2019 16:18:14 +0100	[thread overview]
Message-ID: <20190514151813.GL2753@work-vm> (raw)
In-Reply-To: <20190426005133.GB25513@richard>

* Wei Yang (richardw.yang@linux.intel.com) wrote:
> On Thu, Apr 25, 2019 at 05:55:15PM -0300, Daniel Henrique Barboza wrote:
> >
> >
> >On 4/23/19 9:46 PM, Wei Yang wrote:
> >> migration_is_blocked() is used in migrate_prepare() and
> >> save_snapshot(), this is more proper to use this instead of
> >> qemu_savevm_state_blocked() in qemu_loadvm_state().
> >
> >
> >migration_is_blocked() does an additional verification:
> >
> >"if (migration_blockers)"
> >
> >comparing to what was previously done in qemu_loadvm_state.
> >
> >I've checked what migration_blockers does and it is a GList used
> >for callers to block the migration process. This is used via
> >'migration_add_blocker', from migration.c.
> >
> >'migration_add_blocker' is called all over the place, most notably
> >in  _realize() functions  and _open() functions from block.
> >
> >Thus, I am not sure if this change will impact the use of
> >qemu_loadvm_state() from load_snapshot() (i.e. can load_snapshot
> >be called with migration_blockers?). It's better to someone
> >with a better understanding of this code to comment on that.
> >
> 
> Well, when you look into the source side of migration:
> 
> qmp_migrate
>   migrate_prepare
>     migration_is_blocked
> 
> This means if migration_is_blocked fails, the source will not start migration.
> And it is the same as save_snapshot.
> 
> From my understanding, when we load a vm, it should check the same
> requirement.

I've been thinking about this, and I think I agree with Daniel on this.
The 'migration_blockers' list tells you that something about the
*current* state of a device means that it can't be migrated - e.g.
a 9pfs with a mounted filesystem can't be migrated.

If we're about to reload the state from a snapshot, then the saved
snapshot's state must have been migratable, so that's OK.

(Whether all the device code is actually OK about being reset in
that state is a different question; but I think it should be).

Dave

> -- 
> Wei Yang
> Help you, Help me
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK


  reply	other threads:[~2019-05-14 15:19 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-24  0:46 [Qemu-devel] [PATCH 0/4] cleanup savevm Wei Yang
2019-04-24  0:46 ` Wei Yang
2019-04-24  0:46 ` [Qemu-devel] [PATCH 1/4] migration/savevm: remove duplicate check of migration_is_blocked Wei Yang
2019-04-24  0:46   ` Wei Yang
2019-04-25 19:20   ` Daniel Henrique Barboza
2019-04-26  0:39     ` Wei Yang
2019-04-26  0:39       ` Wei Yang
2019-05-14 14:46   ` Dr. David Alan Gilbert
2019-05-14 15:55   ` Dr. David Alan Gilbert
2019-04-24  0:46 ` [Qemu-devel] [PATCH 2/4] migration/savevm: use migration_is_blocked to validate Wei Yang
2019-04-24  0:46   ` Wei Yang
2019-04-25 20:55   ` Daniel Henrique Barboza
2019-04-26  0:51     ` Wei Yang
2019-04-26  0:51       ` Wei Yang
2019-05-14 15:18       ` Dr. David Alan Gilbert [this message]
2019-05-15  6:38         ` Wei Yang
2019-05-15  7:03           ` Wei Yang
2019-05-15  9:38             ` Dr. David Alan Gilbert
2019-05-15 12:28               ` Wei Yang
2019-04-24  0:46 ` [Qemu-devel] [PATCH 3/4] migration/savevm: load_header before load_setup Wei Yang
2019-04-24  0:46   ` Wei Yang
2019-05-14 15:45   ` Dr. David Alan Gilbert
2019-04-24  0:47 ` [Qemu-devel] [PATCH 4/4] migration/savevm: wrap into qemu_loadvm_state_header() Wei Yang
2019-04-24  0:47   ` Wei Yang
2019-04-25 22:07   ` Daniel Henrique Barboza

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=20190514151813.GL2753@work-vm \
    --to=dgilbert@redhat.com \
    --cc=danielhb413@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=richardw.yang@linux.intel.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.