Thomas Huth <thuth(a)redhat.com> wrote:
On 12/06/2023 21.33, Juan Quintela wrote:
> Only "defer" is recommended. After setting all migation parameters,
> start incoming migration with "migrate-incoming uri" command.
> Signed-off-by: Juan Quintela <quintela(a)redhat.com>
> ---
> docs/about/deprecated.rst | 7 +++++++
> softmmu/vl.c | 2 ++
> 2 files changed, 9 insertions(+)
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index 47e98dc95e..518672722d 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -447,3 +447,10 @@ The new way to modify migration is using migration parameters.
> ``blk`` functionality can be acchieved using
> ``migrate_set_parameter block-incremental true``.
> +``-incoming uri`` (since 8.1)
>
+'''''''''''''''''''''''''''''
> +
> +Everything except ``-incoming defer`` are deprecated. This allows to
> +setup parameters before launching the proper migration with
> +``migrate-incoming uri``.
> +
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index b0b96f67fa..7fe865ab59 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -2651,6 +2651,8 @@ void qmp_x_exit_preconfig(Error **errp)
> if (incoming) {
> Error *local_err = NULL;
> if (strcmp(incoming, "defer") != 0) {
> + warn_report("-incoming %s is deprecated, use -incoming defer and
"
> + " set the uri with migrate-incoming.", incoming);
> qmp_migrate_incoming(incoming, &local_err);
> if (local_err) {
> error_reportf_err(local_err, "-incoming %s: ",
incoming);
Could we maybe keep at least the smallest set of necessary parameters
around? I'm often doing a "-incoming tcp:0:1234" for doing quick
sanity checks with migration, not caring about other migration
parameters, so if that could continue to work, that would be very
appreciated.
I will try to explain myself here.
I think that everything except tcp works.
But when we have tcp, we have two cases where this is a trap:
- multifd channels:
* if we default to a big number, we underuse resources in a normal
case
* if we default to a small number, we have the problem that if the
user set "later" multifd-channels to a bigger number, things can
break.
- postcopy+preempt:
this case is also problematic, but easily fixable. Put a default
of 2 instead of 1.
The only other solution that I can think of is just fail if we set
multifd without incoming defer. But more sooner than later we are going
to have to default to multifd, so ...
Later, Juan.