All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Peter Xu <peterx@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	 qemu-devel@nongnu.org,  Fabiano Rosas <farosas@suse.de>,
	 Juraj Marcin <jmarcin@redhat.com>
Subject: Re: [PATCH] migration/qmp: Update "resume" flag doc in "migrate" command
Date: Thu, 23 Oct 2025 16:04:40 +0200	[thread overview]
Message-ID: <87sef94suf.fsf@pond.sub.org> (raw)
In-Reply-To: <aPozyk9Do9iu32G4@x1.local> (Peter Xu's message of "Thu, 23 Oct 2025 09:55:22 -0400")

Peter Xu <peterx@redhat.com> writes:

> On Thu, Oct 23, 2025 at 07:47:11AM +0200, Markus Armbruster wrote:
>> Peter Xu <peterx@redhat.com> writes:
>> 
>> > It wasn't obvious how the resume flag should be used when staring at the
>> > QAPI doc.  Enrich it to be crystal clear.
>> >
>> > Reported-by: Markus Armbruster <armbru@redhat.com>
>> > Signed-off-by: Peter Xu <peterx@redhat.com>
>> > ---
>> >  qapi/migration.json | 5 ++++-
>> >  1 file changed, 4 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/qapi/migration.json b/qapi/migration.json
>> > index be0f3fcc12..48856078db 100644
>> > --- a/qapi/migration.json
>> > +++ b/qapi/migration.json
>> > @@ -1732,7 +1732,10 @@
>> >  # @detach: this argument exists only for compatibility reasons and is
>> >  #     ignored by QEMU
>> >  #
>> > -# @resume: resume one paused migration, default "off".  (since 3.0)
>> > +# @resume: when set, resume one paused postcopy migration, using the new
>> 
>> Scratch "one" unless there can be more than one.
>
> Sure.
>
>> 
>> > +#     URI/channels specified to replace the old/broken channels.  The user
>> > +#     should make sure the migration is in "postcopy-paused" state before
>> > +#     the resume request.  Default "off".  (since 3.0)
>> >  #
>> >  # Features:
>> >  #
>> 
>> What happens when migration is not in state "postcopy-paused"?
>
> The QMP command "migrate" with resume=true set will be rejected,
> corresponds to:
>
> migrate_prepare():
>         if (s->state != MIGRATION_STATUS_POSTCOPY_PAUSED) {
>             error_setg(errp, "Cannot resume if there is no "
>                        "paused migration");
>             return false;
>         }

Makes sense, thanks!

I'd suggest something like 'Resume fails unless migration is in
"postcopy-paused" state.  (default: false, since 3.0)'

>> Remind me, how can migration get into and out of this state?
>
> It can happen if any interruption happened during a postcopy migration.  So
> it needs to be postcopy-active state first, then something wrong happened
> e.g. the network is down.  Then the channel will break on both sides of
> QEMU, and both QEMUs will jump into postcopy-paused.
>
> To get out of the state, one needs to explicitly recover the migration, the
> core steps are:
>
>   - (optional) Run migrate_recover on dest QEMU to re-establish the ports,
>     if the old listening ports are not available anymore.
>
>   - Run migrate on src QEMU with resume=true flag here to resume the
>     postcopy migration.
>
> If the recover succeeded, it'll switch from postcopy-paused finally back to
> postcopy-active.
>
> Thanks,

Got it, thanks!



  reply	other threads:[~2025-10-23 14:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-22 19:04 [PATCH] migration/qmp: Update "resume" flag doc in "migrate" command Peter Xu
2025-10-23  5:47 ` Markus Armbruster
2025-10-23 13:55   ` Peter Xu
2025-10-23 14:04     ` Markus Armbruster [this message]
2025-10-23 14:27       ` Peter Xu
2025-10-23 17:20         ` Markus Armbruster
2025-10-23 18:35           ` Peter Xu

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=87sef94suf.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=farosas@suse.de \
    --cc=jmarcin@redhat.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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.