On Sun, Sep 13, 2020 at 10:47:31AM +0800, Chuan Zheng wrote: > 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); > }
IIUC, this means hostname is free'd once the initial connection is established. Don't we have to wait until all the multifd connections exist too ? IOW, should we be doing this somewhere in a cleanup path. Perhaps migrate_fd_cancel() is the rigt place ? > 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 > 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 :|