hostname is need in multifd-tls, save hostname into MigrationState. Signed-off-by: Chuan Zheng <zhengch...@huawei.com> Signed-off-by: Yan Jin <jinya...@huawei.com> --- migration/channel.c | 6 ++++++ migration/migration.c | 1 + migration/migration.h | 5 +++++ 3 files changed, 12 insertions(+)
diff --git a/migration/channel.c b/migration/channel.c index 20e4c8e..0e4104a 100644 --- a/migration/channel.c +++ b/migration/channel.c @@ -66,6 +66,11 @@ void migration_channel_connect(MigrationState *s, trace_migration_set_outgoing_channel( ioc, object_get_typename(OBJECT(ioc)), hostname, error); + /* Save hostname into MigrationState for handshake */ + if (hostname) { + s->hostname = g_strdup(hostname); + } + if (!error) { if (s->parameters.tls_creds && *s->parameters.tls_creds && @@ -90,5 +95,6 @@ void migration_channel_connect(MigrationState *s, } } migrate_fd_connect(s, error); + g_free(s->hostname); error_free(error); } diff --git a/migration/migration.c b/migration/migration.c index 58a5452..e20b778 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1883,6 +1883,7 @@ void migrate_init(MigrationState *s) s->migration_thread_running = false; error_free(s->error); s->error = NULL; + s->hostname = NULL; migrate_set_state(&s->state, MIGRATION_STATUS_NONE, MIGRATION_STATUS_SETUP); diff --git a/migration/migration.h b/migration/migration.h index bdc7450..bc96322 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -259,6 +259,11 @@ struct MigrationState * (which is in 4M chunk). */ uint8_t clear_bitmap_shift; + + /* + * This save hostname when out-going migration starts + */ + char *hostname; }; void migrate_set_state(int *state, int old_state, int new_state); -- 1.8.3.1