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
next prev 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).