@@ -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 &&
@@ -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);
@@ -261,6 +261,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);