qemu/migration-tls-save-hostname-into-MigrationState.patch
ChuanZheng 7c511d7e1f multifd/tls: add support for multifd tls feature
tls migration can easily reach bottleneck of cpu which results in
migration failure.
add support for multifd tls feature to make fully use of bandwidth.
2021-04-17 16:43:05 +08:00

78 lines
2.4 KiB
Diff

From 08ae1eda02ff08b3431b227ed702ea0fc5f8a4a2 Mon Sep 17 00:00:00 2001
From: Chuan Zheng <zhengchuan@huawei.com>
Date: Tue, 15 Sep 2020 11:03:57 +0800
Subject: [PATCH] migration/tls: save hostname into MigrationState
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
hostname is need in multifd-tls, save hostname into MigrationState.
Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Signed-off-by: Yan Jin <jinyan12@huawei.com>
Message-Id: <1600139042-104593-2-git-send-email-zhengchuan@huawei.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
migration/channel.c | 1 +
migration/migration.c | 1 +
migration/migration.h | 5 +++++
migration/tls.c | 2 ++
4 files changed, 9 insertions(+)
diff --git a/migration/channel.c b/migration/channel.c
index 7462181484..46ed40b89c 100644
--- a/migration/channel.c
+++ b/migration/channel.c
@@ -99,5 +99,6 @@ 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 7949f2a40b..993d77b7d6 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1710,6 +1710,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 feb344306a..e5aaf2ef70 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);
diff --git a/migration/tls.c b/migration/tls.c
index 5171afc6c4..a0eb553e14 100644
--- a/migration/tls.c
+++ b/migration/tls.c
@@ -155,6 +155,8 @@ void migration_tls_channel_connect(MigrationState *s,
return;
}
+ /* Save hostname into MigrationState for handshake */
+ s->hostname = g_strdup(hostname);
trace_migration_tls_outgoing_handshake_start(hostname);
qio_channel_set_name(QIO_CHANNEL(tioc), "migration-tls-outgoing");
qio_channel_tls_handshake(tioc,
--
2.27.0