diff options
author | Peter Xu <peterx@redhat.com> | 2022-03-31 11:08:39 -0400 |
---|---|---|
committer | Dr. David Alan Gilbert <dgilbert@redhat.com> | 2022-04-21 19:36:46 +0100 |
commit | 83174765da3563794a56fbe24216908f3a5db194 (patch) | |
tree | 830ec5c08079aaefd3df2137201f85a72c31b2c0 | |
parent | 00fbe7f6add0ac58556e9fe3354d300294e6c3ef (diff) |
migration: Postpone releasing MigrationState.hostname
We used to release it right after migrate_fd_connect(). That's not good
enough when there're more than one socket pair required, because it'll be
needed to establish TLS connection for the rest channels.
One example is multifd, where we copied over the hostname for each channel
but that's actually not needed.
Keeping the hostname until the cleanup phase of migration.
Cc: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20220331150857.74406-2-peterx@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
dgilbert: Fixup checkpatch error; don't need to check for NULL
around g_free
-rw-r--r-- | migration/channel.c | 1 | ||||
-rw-r--r-- | migration/migration.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/migration/channel.c b/migration/channel.c index c4fc000a1a..c6a8dcf1d7 100644 --- a/migration/channel.c +++ b/migration/channel.c @@ -96,6 +96,5 @@ 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 4dcb511bb6..3f61a08752 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1809,6 +1809,9 @@ static void migrate_fd_cleanup(MigrationState *s) qemu_bh_delete(s->cleanup_bh); s->cleanup_bh = NULL; + g_free(s->hostname); + s->hostname = NULL; + qemu_savevm_state_cleanup(); if (s->to_dst_file) { |