qemu-devel.nongnu.org archive mirror
 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


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

Thread overview: 28+ 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-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-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
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 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).