aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Xu <peterx@redhat.com>2022-03-31 11:08:39 -0400
committerDr. David Alan Gilbert <dgilbert@redhat.com>2022-04-21 19:36:46 +0100
commit83174765da3563794a56fbe24216908f3a5db194 (patch)
tree830ec5c08079aaefd3df2137201f85a72c31b2c0
parent00fbe7f6add0ac58556e9fe3354d300294e6c3ef (diff)
downloadqemu-83174765da3563794a56fbe24216908f3a5db194.zip
qemu-83174765da3563794a56fbe24216908f3a5db194.tar.gz
qemu-83174765da3563794a56fbe24216908f3a5db194.tar.bz2
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.c1
-rw-r--r--migration/migration.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/migration/channel.c b/migration/channel.c
index c4fc000..c6a8dcf 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 4dcb511..3f61a08 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) {