On Mon, May 26, 2025 at 10:03:55AM +0200, Markus Armbruster wrote:
> > diff --git a/qapi/migration.json b/qapi/migration.json
> > index bb2487dbc6..5bd8f0f1b2 100644
> > --- a/qapi/migration.json
> > +++ b/qapi/migration.json
> > @@ -1638,6 +1638,10 @@
>    ##
>    # @migrate:
>    #
>    # Migrates the current running guest to another Virtual Machine.
>    #
>    # @uri: the Uniform Resource Identifier of the destination VM
>    #
>    # @channels: list of migration stream channels with each stream in the
>    #     list connected to a destination interface endpoint.
>    #
>    # @detach: this argument exists only for compatibility reasons and is
>    #     ignored by QEMU
> >  #
> >  # @resume: resume one paused migration, default "off".  (since 3.0)
> 
> Unrelated to this patch, but here goes anyway.  What happens if I pass
> @uri and @channels with I "resume": true, and they differ from the ones
> passed originally?

I can answer this one - "resume" was designed to work always with new
channels/URI passed in.  It was currently only used for postcopy to resume
a paused postcopy migration where the old URI/channels stopped working
already.

The doc is indeed not obvious to show that, and can be confusing.  If
anyone thinks worthwhile, I can send a patch to touch it up:

diff --git a/qapi/migration.json b/qapi/migration.json
index 8b9c53595c..a4c9272e8b 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -1658,7 +1658,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
+#     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)
 #
 # Since: 0.14
 #

Thanks,

-- 
Peter Xu


Reply via email to