On Fri, 9 Jan 2026 at 18:19, Fabiano Rosas <[email protected]> wrote:
> To make it easier to follow the code, rename the functions that start
> the migration thread and migration coroutine to contain the word
> "start".
>
> This will give new contributors the chance of seeing the word start
> and reaching the actual migration code, instead of twists and turns of
> qio_channel_add_watch and qio_task_run_in_thread.
>
> Remove all other instances of "start" and use wording more suitable to
> what the current migration stage is. The transport code such as
> fd_start_migration_outgoing becomes fd_connect_outgoing, the early
> setup code such as qemu_start_incoming_migration becomes
> qemu_setup_incoming_migration and so on.
>
> Reviewed-by: Peter Xu <[email protected]>
> Signed-off-by: Fabiano Rosas <[email protected]>
> ---
>  migration/channel.c    |  4 ++--
>  migration/exec.c       |  5 ++---
>  migration/exec.h       |  5 ++---
>  migration/fd.c         |  4 ++--
>  migration/fd.h         |  6 +++---
>  migration/file.c       |  6 +++---
>  migration/file.h       |  6 +++---
>  migration/migration.c  | 30 +++++++++++++++---------------
>  migration/migration.h  |  3 ++-
>  migration/rdma.c       | 21 ++++++++++-----------
>  migration/rdma.h       |  6 +++---
>  migration/socket.c     |  8 +++-----
>  migration/socket.h     |  6 +++---
>  migration/trace-events | 10 +++++-----
>  14 files changed, 58 insertions(+), 62 deletions(-)
>
> diff --git a/migration/channel.c b/migration/channel.c
> index f41333adcc..d1eec4942b 100644
> --- a/migration/channel.c
> +++ b/migration/channel.c
> @@ -48,7 +48,7 @@ void migration_channel_process_incoming(QIOChannel *ioc)
>          }
>
>          if (migration_incoming_setup(ioc, ch, &local_err)) {
> -            migration_incoming_process();
> +            migration_start_incoming();
>          }
>      }
>  out:
> @@ -82,7 +82,7 @@ void migration_channel_connect_outgoing(MigrationState *s, 
> QIOChannel *ioc)
>
>      migration_ioc_register_yank(ioc);
>      migration_outgoing_setup(ioc);
> -    migration_connect(s);
> +    migration_start_outgoing(s);
>  }
>
>
> diff --git a/migration/exec.c b/migration/exec.c
> index d1629944dc..c3085e803e 100644
> --- a/migration/exec.c
> +++ b/migration/exec.c
> @@ -40,8 +40,7 @@ const char *exec_get_cmd_path(void)
>  }
>  #endif
>
> -void exec_start_outgoing_migration(MigrationState *s, strList *command,
> -                                   Error **errp)
> +void exec_connect_outgoing(MigrationState *s, strList *command, Error **errp)
>  {
>      QIOChannel *ioc = NULL;
>      g_auto(GStrv) argv = strv_from_str_list(command);
> @@ -68,7 +67,7 @@ static gboolean exec_accept_incoming_migration(QIOChannel 
> *ioc,
>      return G_SOURCE_REMOVE;
>  }
>
> -void exec_start_incoming_migration(strList *command, Error **errp)
> +void exec_connect_incoming(strList *command, Error **errp)
>  {
>      QIOChannel *ioc;
>      g_auto(GStrv) argv = strv_from_str_list(command);
> diff --git a/migration/exec.h b/migration/exec.h
> index 3107f205e3..e7e8e475ac 100644
> --- a/migration/exec.h
> +++ b/migration/exec.h
> @@ -23,8 +23,7 @@
>  #ifdef WIN32
>  const char *exec_get_cmd_path(void);
>  #endif
> -void exec_start_incoming_migration(strList *host_port, Error **errp);
> +void exec_connect_incoming(strList *host_port, Error **errp);
>
> -void exec_start_outgoing_migration(MigrationState *s, strList *host_port,
> -                                   Error **errp);
> +void exec_connect_outgoing(MigrationState *s, strList *host_port, Error 
> **errp);
>  #endif
> diff --git a/migration/fd.c b/migration/fd.c
> index 150b236fbf..b689426ad4 100644
> --- a/migration/fd.c
> +++ b/migration/fd.c
> @@ -49,7 +49,7 @@ static bool migration_fd_valid(int fd)
>      return false;
>  }
>
> -void fd_start_outgoing_migration(MigrationState *s, const char *fdname, 
> Error **errp)
> +void fd_connect_outgoing(MigrationState *s, const char *fdname, Error **errp)
>  {
>      QIOChannel *ioc;
>      int fd = monitor_get_fd(monitor_cur(), fdname, errp);
> @@ -83,7 +83,7 @@ static gboolean fd_accept_incoming_migration(QIOChannel 
> *ioc,
>      return G_SOURCE_REMOVE;
>  }
>
> -void fd_start_incoming_migration(const char *fdname, Error **errp)
> +void fd_connect_incoming(const char *fdname, Error **errp)
>  {
>      QIOChannel *ioc;
>      int fd = monitor_fd_param(monitor_cur(), fdname, errp);
> diff --git a/migration/fd.h b/migration/fd.h
> index b901bc014e..7211629270 100644
> --- a/migration/fd.h
> +++ b/migration/fd.h
> @@ -16,8 +16,8 @@
>
>  #ifndef QEMU_MIGRATION_FD_H
>  #define QEMU_MIGRATION_FD_H
> -void fd_start_incoming_migration(const char *fdname, Error **errp);
> +void fd_connect_incoming(const char *fdname, Error **errp);
>
> -void fd_start_outgoing_migration(MigrationState *s, const char *fdname,
> -                                 Error **errp);
> +void fd_connect_outgoing(MigrationState *s, const char *fdname,
> +                         Error **errp);
>  #endif
> diff --git a/migration/file.c b/migration/file.c
> index 935402f36b..b7b0fb5194 100644
> --- a/migration/file.c
> +++ b/migration/file.c
> @@ -93,8 +93,8 @@ out:
>      return ret;
>  }
>
> -void file_start_outgoing_migration(MigrationState *s,
> -                                   FileMigrationArgs *file_args, Error 
> **errp)
> +void file_connect_outgoing(MigrationState *s,
> +                           FileMigrationArgs *file_args, Error **errp)
>  {
>      g_autoptr(QIOChannelFile) fioc = NULL;
>      g_autofree char *filename = g_strdup(file_args->filename);
> @@ -173,7 +173,7 @@ static void file_create_incoming_channels(QIOChannel 
> *ioc, char *filename,
>      }
>  }
>
> -void file_start_incoming_migration(FileMigrationArgs *file_args, Error 
> **errp)
> +void file_connect_incoming(FileMigrationArgs *file_args, Error **errp)
>  {
>      g_autofree char *filename = g_strdup(file_args->filename);
>      QIOChannelFile *fioc = NULL;
> diff --git a/migration/file.h b/migration/file.h
> index 1a1115f7f1..9b1e874bb7 100644
> --- a/migration/file.h
> +++ b/migration/file.h
> @@ -13,10 +13,10 @@
>  #include "channel.h"
>  #include "multifd.h"
>
> -void file_start_incoming_migration(FileMigrationArgs *file_args, Error 
> **errp);
> +void file_connect_incoming(FileMigrationArgs *file_args, Error **errp);
>
> -void file_start_outgoing_migration(MigrationState *s,
> -                                   FileMigrationArgs *file_args, Error 
> **errp);
> +void file_connect_outgoing(MigrationState *s,
> +                           FileMigrationArgs *file_args, Error **errp);
>  int file_parse_offset(char *filespec, uint64_t *offsetp, Error **errp);
>  void file_cleanup_outgoing_migration(void);
>  bool file_send_channel_create(gpointer opaque, Error **errp);
> diff --git a/migration/migration.c b/migration/migration.c
> index a052b99a19..83b85b20f9 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -740,7 +740,7 @@ migration_incoming_state_setup(MigrationIncomingState 
> *mis, Error **errp)
>      return true;
>  }
>
> -static void qemu_start_incoming_migration(const char *uri, bool has_channels,
> +static void qemu_setup_incoming_migration(const char *uri, bool has_channels,
>                                            MigrationChannelList *channels,
>                                            Error **errp)
>  {
> @@ -788,18 +788,18 @@ static void qemu_start_incoming_migration(const char 
> *uri, bool has_channels,
>          if (saddr->type == SOCKET_ADDRESS_TYPE_INET ||
>              saddr->type == SOCKET_ADDRESS_TYPE_UNIX ||
>              saddr->type == SOCKET_ADDRESS_TYPE_VSOCK) {
> -            socket_start_incoming_migration(saddr, errp);
> +            socket_connect_incoming(saddr, errp);
>          } else if (saddr->type == SOCKET_ADDRESS_TYPE_FD) {
> -            fd_start_incoming_migration(saddr->u.fd.str, errp);
> +            fd_connect_incoming(saddr->u.fd.str, errp);
>          }
>  #ifdef CONFIG_RDMA
>      } else if (addr->transport == MIGRATION_ADDRESS_TYPE_RDMA) {
> -        rdma_start_incoming_migration(&addr->u.rdma, errp);
> +        rdma_connect_incoming(&addr->u.rdma, errp);
>  #endif
>      } else if (addr->transport == MIGRATION_ADDRESS_TYPE_EXEC) {
> -        exec_start_incoming_migration(addr->u.exec.args, errp);
> +        exec_connect_incoming(addr->u.exec.args, errp);
>      } else if (addr->transport == MIGRATION_ADDRESS_TYPE_FILE) {
> -        file_start_incoming_migration(&addr->u.file, errp);
> +        file_connect_incoming(&addr->u.file, errp);
>      } else {
>          error_setg(errp, "unknown migration protocol: %s", uri);
>      }
> @@ -1012,7 +1012,7 @@ static bool postcopy_try_recover(void)
>      return false;
>  }
>
> -void migration_incoming_process(void)
> +void migration_start_incoming(void)
>  {
>      if (postcopy_try_recover()) {
>          return;
> @@ -1971,7 +1971,7 @@ void qmp_migrate_incoming(const char *uri, bool 
> has_channels,
>      mis->exit_on_error =
>          has_exit_on_error ? exit_on_error : INMIGRATE_DEFAULT_EXIT_ON_ERROR;
>
> -    qemu_start_incoming_migration(uri, has_channels, channels, &local_err);
> +    qemu_setup_incoming_migration(uri, has_channels, channels, &local_err);
>
>      if (local_err) {
>          yank_unregister_instance(MIGRATION_YANK_INSTANCE);
> @@ -2018,7 +2018,7 @@ void qmp_migrate_recover(const char *uri, Error **errp)
>       * only re-setup the migration stream and poke existing migration
>       * to continue using that newly established channel.
>       */
> -    qemu_start_incoming_migration(uri, false, NULL, errp);
> +    qemu_setup_incoming_migration(uri, false, NULL, errp);
>  }
>
>  void qmp_migrate_pause(Error **errp)
> @@ -2335,18 +2335,18 @@ static void qmp_migrate_finish(MigrationAddress 
> *addr, Error **errp)
>          if (saddr->type == SOCKET_ADDRESS_TYPE_INET ||
>              saddr->type == SOCKET_ADDRESS_TYPE_UNIX ||
>              saddr->type == SOCKET_ADDRESS_TYPE_VSOCK) {
> -            socket_start_outgoing_migration(s, saddr, &local_err);
> +            socket_connect_outgoing(s, saddr, &local_err);
>          } else if (saddr->type == SOCKET_ADDRESS_TYPE_FD) {
> -            fd_start_outgoing_migration(s, saddr->u.fd.str, &local_err);
> +            fd_connect_outgoing(s, saddr->u.fd.str, &local_err);
>          }
>  #ifdef CONFIG_RDMA
>      } else if (addr->transport == MIGRATION_ADDRESS_TYPE_RDMA) {
> -        rdma_start_outgoing_migration(s, &addr->u.rdma, &local_err);
> +        rdma_connect_outgoing(s, &addr->u.rdma, &local_err);
>  #endif
>      } else if (addr->transport == MIGRATION_ADDRESS_TYPE_EXEC) {
> -        exec_start_outgoing_migration(s, addr->u.exec.args, &local_err);
> +        exec_connect_outgoing(s, addr->u.exec.args, &local_err);
>      } else if (addr->transport == MIGRATION_ADDRESS_TYPE_FILE) {
> -        file_start_outgoing_migration(s, &addr->u.file, &local_err);
> +        file_connect_outgoing(s, &addr->u.file, &local_err);
>      } else {
>          error_setg(&local_err, "uri is not a valid migration protocol");
>      }
> @@ -4032,7 +4032,7 @@ fail_setup:
>      return NULL;
>  }
>
> -void migration_connect(MigrationState *s)
> +void migration_start_outgoing(MigrationState *s)
>  {
>      Error *local_err = NULL;
>      uint64_t rate_limit;
> diff --git a/migration/migration.h b/migration/migration.h
> index b55cc40613..c4ea57d80a 100644
> --- a/migration/migration.h
> +++ b/migration/migration.h
> @@ -539,7 +539,8 @@ void migration_connect_error_propagate(MigrationState *s, 
> Error *error);
>  void migrate_error_propagate(MigrationState *s, Error *error);
>  bool migrate_has_error(MigrationState *s);
>
> -void migration_connect(MigrationState *s);
> +void migration_start_outgoing(MigrationState *s);
> +void migration_start_incoming(void);
>
>  int migration_call_notifiers(MigrationEventType type, Error **errp);
>
> diff --git a/migration/rdma.c b/migration/rdma.c
> index d902c8669c..a23843bdc4 100644
> --- a/migration/rdma.c
> +++ b/migration/rdma.c
> @@ -3882,17 +3882,16 @@ static void rdma_accept_incoming_migration(void 
> *opaque)
>
>      rdma->migration_started_on_destination = 1;
>      migration_incoming_setup(ioc, CH_MAIN, &error_abort);
> -    migration_incoming_process();
> +    migration_start_incoming();
>  }
>
> -void rdma_start_incoming_migration(InetSocketAddress *host_port,
> -                                   Error **errp)
> +void rdma_connect_incoming(InetSocketAddress *host_port, Error **errp)
>  {
>      MigrationState *s = migrate_get_current();
>      int ret;
>      RDMAContext *rdma;
>
> -    trace_rdma_start_incoming_migration();
> +    trace_rdma_connect_incoming();
>
>      /* Avoid ram_block_discard_disable(), cannot change during migration. */
>      if (ram_block_discard_is_required()) {
> @@ -3910,7 +3909,7 @@ void rdma_start_incoming_migration(InetSocketAddress 
> *host_port,
>          goto err;
>      }
>
> -    trace_rdma_start_incoming_migration_after_dest_init();
> +    trace_rdma_connect_incoming_after_dest_init();
>
>      ret = rdma_listen(rdma->listen_id, 5);
>
> @@ -3919,7 +3918,7 @@ void rdma_start_incoming_migration(InetSocketAddress 
> *host_port,
>          goto cleanup_rdma;
>      }
>
> -    trace_rdma_start_incoming_migration_after_rdma_listen();
> +    trace_rdma_connect_incoming_after_rdma_listen();
>      s->rdma_migration = true;
>      qemu_set_fd_handler(rdma->channel->fd, rdma_accept_incoming_migration,
>                          NULL, (void *)(intptr_t)rdma);
> @@ -3934,8 +3933,8 @@ err:
>      g_free(rdma);
>  }
>
> -void rdma_start_outgoing_migration(void *opaque,
> -                            InetSocketAddress *host_port, Error **errp)
> +void rdma_connect_outgoing(void *opaque,
> +                           InetSocketAddress *host_port, Error **errp)
>  {
>      MigrationState *s = opaque;
>      RDMAContext *rdma_return_path = NULL;
> @@ -3959,7 +3958,7 @@ void rdma_start_outgoing_migration(void *opaque,
>          goto err;
>      }
>
> -    trace_rdma_start_outgoing_migration_after_rdma_source_init();
> +    trace_rdma_connect_outgoing_after_rdma_source_init();
>      ret = qemu_rdma_connect(rdma, false, errp);
>
>      if (ret < 0) {
> @@ -3992,11 +3991,11 @@ void rdma_start_outgoing_migration(void *opaque,
>          rdma_return_path->is_return_path = true;
>      }
>
> -    trace_rdma_start_outgoing_migration_after_rdma_connect();
> +    trace_rdma_connect_outgoing_after_rdma_connect();
>
>      s->rdma_migration = true;
>      migration_outgoing_setup(rdma_new_output(rdma));
> -    migration_connect(s);
> +    migration_start_outgoing(s);
>      return;
>  return_path_err:
>      qemu_rdma_cleanup(rdma);
> diff --git a/migration/rdma.h b/migration/rdma.h
> index f74f16a459..170c25cf44 100644
> --- a/migration/rdma.h
> +++ b/migration/rdma.h
> @@ -21,10 +21,10 @@
>
>  #include "system/memory.h"
>
> -void rdma_start_outgoing_migration(void *opaque, InetSocketAddress 
> *host_port,
> -                                   Error **errp);
> +void rdma_connect_outgoing(void *opaque, InetSocketAddress *host_port,
> +                           Error **errp);
>
> -void rdma_start_incoming_migration(InetSocketAddress *host_port, Error 
> **errp);
> +void rdma_connect_incoming(InetSocketAddress *host_port, Error **errp);
>
>  /*
>   * Constants used by rdma return codes
> diff --git a/migration/socket.c b/migration/socket.c
> index 611915f84d..ac3183d5d5 100644
> --- a/migration/socket.c
> +++ b/migration/socket.c
> @@ -80,9 +80,8 @@ err:
>      migration_connect_error_propagate(data->s, err);
>  }
>
> -void socket_start_outgoing_migration(MigrationState *s,
> -                                     SocketAddress *saddr,
> -                                     Error **errp)
> +void socket_connect_outgoing(MigrationState *s, SocketAddress *saddr,
> +                             Error **errp)
>  {
>      QIOChannelSocket *sioc = qio_channel_socket_new();
>      struct SocketConnectData *data = g_new0(struct SocketConnectData, 1);
> @@ -140,8 +139,7 @@ socket_incoming_migration_end(void *opaque)
>      object_unref(OBJECT(listener));
>  }
>
> -void socket_start_incoming_migration(SocketAddress *saddr,
> -                                     Error **errp)
> +void socket_connect_incoming(SocketAddress *saddr, Error **errp)
>  {
>      QIONetListener *listener = qio_net_listener_new();
>      MigrationIncomingState *mis = migration_incoming_get_current();
> diff --git a/migration/socket.h b/migration/socket.h
> index 04ebbe95a1..f0c89b64c7 100644
> --- a/migration/socket.h
> +++ b/migration/socket.h
> @@ -23,10 +23,10 @@
>
>  void socket_send_channel_create(QIOTaskFunc f, void *data);
>
> -void socket_start_incoming_migration(SocketAddress *saddr, Error **errp);
> +void socket_connect_incoming(SocketAddress *saddr, Error **errp);
>
> -void socket_start_outgoing_migration(MigrationState *s,
> -                                     SocketAddress *saddr, Error **errp);
> +void socket_connect_outgoing(MigrationState *s,
> +                             SocketAddress *saddr, Error **errp);
>  void socket_cleanup_outgoing_migration(void);
>
>  #endif
> diff --git a/migration/trace-events b/migration/trace-events
> index cbf10d0b63..91d7506634 100644
> --- a/migration/trace-events
> +++ b/migration/trace-events
> @@ -271,11 +271,11 @@ rdma_registration_handle_wait(void) ""
>  rdma_registration_start(uint64_t flags) "%" PRIu64
>  rdma_registration_stop(uint64_t flags) "%" PRIu64
>  rdma_registration_stop_ram(void) ""
> -rdma_start_incoming_migration(void) ""
> -rdma_start_incoming_migration_after_dest_init(void) ""
> -rdma_start_incoming_migration_after_rdma_listen(void) ""
> -rdma_start_outgoing_migration_after_rdma_connect(void) ""
> -rdma_start_outgoing_migration_after_rdma_source_init(void) ""
> +rdma_connect_incoming(void) ""
> +rdma_connect_incoming_after_dest_init(void) ""
> +rdma_connect_incoming_after_rdma_listen(void) ""
> +rdma_connect_outgoing_after_rdma_connect(void) ""
> +rdma_connect_outgoing_after_rdma_source_init(void) ""
>
>  # postcopy-ram.c
>  postcopy_discard_send_finish(const char *ramblock, int nwords, int ncmds) 
> "%s mask words sent=%d in %d commands"
> --

* Looks okay.
Reviewed-by: Prasad Pandit <[email protected]>

Thank you.
---
  - Prasad


Reply via email to