On Thu, Oct 23, 2025 at 04:04:40PM +0200, Markus Armbruster wrote: > Peter Xu <[email protected]> writes: > > > On Thu, Oct 23, 2025 at 07:47:11AM +0200, Markus Armbruster wrote: > >> Peter Xu <[email protected]> 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 <[email protected]> > >> > Signed-off-by: Peter Xu <[email protected]> > >> > --- > >> > 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)'
Since it's still a "migrate" QMP command, should I use "the command will fail"? I also re-arranged the words slightly.. would below look a better next version as a whole? # @resume: when set, use the new uri/channels specified to resume paused # postcopy migration. This flag should only be used if the previous # postcopy migration was interrupted. The command will fail unless # migration is in "postcopy-paused" state. (default: false, since 3.0) Thanks, -- Peter Xu
