On Wed, Sep 09, 2020 at 10:52:51PM +0800, Chuan Zheng wrote: > hostname is need in multifd-tls, save hostname into MigrationState > > Signed-off-by: Chuan Zheng <[email protected]> > Signed-off-by: Yan Jin <[email protected]> > --- > migration/channel.c | 5 +++++ > migration/migration.c | 1 + > migration/migration.h | 5 +++++ > 3 files changed, 11 insertions(+) > > diff --git a/migration/channel.c b/migration/channel.c > index 20e4c8e..2af3069 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 && > 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 ae497bd..758f803 100644 > --- a/migration/migration.h > +++ b/migration/migration.h > @@ -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; > };
Something needs to free(hostname) at the appropriate time, otherwise well have a memory leak if we run migration multiple times. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
