diff mbox series

[10/17] migration/postcopy: Use the new TLS upgrade API for preempt channel

Message ID 20240125162528.7552-11-avihaih@nvidia.com (mailing list archive)
State New, archived
Headers show
Series migration: Add new migration channel connect and TLS upgrade APIs | expand

Commit Message

Avihai Horon Jan. 25, 2024, 4:25 p.m. UTC
Use the new TLS upgrade API for postcopy preempt channel and remove old
TLS code.

Signed-off-by: Avihai Horon <avihaih@nvidia.com>
---
 migration/postcopy-ram.c | 20 +++++++-------------
 migration/trace-events   |  1 -
 2 files changed, 7 insertions(+), 14 deletions(-)
diff mbox series

Patch

diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
index 5408e028c6..3df937e7da 100644
--- a/migration/postcopy-ram.c
+++ b/migration/postcopy-ram.c
@@ -1644,15 +1644,13 @@  postcopy_preempt_send_channel_done(MigrationState *s,
     qemu_sem_post(&s->postcopy_qemufile_src_sem);
 }
 
-static void
-postcopy_preempt_tls_handshake(QIOTask *task, gpointer opaque)
+static void postcopy_preempt_tls_handshake(QIOChannel *ioc, gpointer opaque,
+                                           Error *err)
 {
-    g_autoptr(QIOChannel) ioc = QIO_CHANNEL(qio_task_get_source(task));
     MigrationState *s = opaque;
-    Error *local_err = NULL;
 
-    qio_task_propagate_error(task, &local_err);
-    postcopy_preempt_send_channel_done(s, ioc, local_err);
+    postcopy_preempt_send_channel_done(s, ioc, err);
+    object_unref(ioc);
 }
 
 static void
@@ -1660,7 +1658,6 @@  postcopy_preempt_send_channel_new(QIOTask *task, gpointer opaque)
 {
     g_autoptr(QIOChannel) ioc = QIO_CHANNEL(qio_task_get_source(task));
     MigrationState *s = opaque;
-    QIOChannelTLS *tioc;
     Error *local_err = NULL;
 
     if (qio_task_propagate_error(task, &local_err)) {
@@ -1668,14 +1665,11 @@  postcopy_preempt_send_channel_new(QIOTask *task, gpointer opaque)
     }
 
     if (migrate_channel_requires_tls_upgrade(ioc)) {
-        tioc = migration_tls_client_create(ioc, s->hostname, &local_err);
-        if (!tioc) {
+        if (!migration_tls_channel_connect(ioc, "preempt", s->hostname,
+                                           postcopy_preempt_tls_handshake, s,
+                                           false, &local_err)) {
             goto out;
         }
-        trace_postcopy_preempt_tls_handshake();
-        qio_channel_set_name(QIO_CHANNEL(tioc), "migration-tls-preempt");
-        qio_channel_tls_handshake(tioc, postcopy_preempt_tls_handshake,
-                                  s, NULL, NULL);
         /* Setup the channel until TLS handshake finished */
         return;
     }
diff --git a/migration/trace-events b/migration/trace-events
index 2c328326e8..9a8ec67115 100644
--- a/migration/trace-events
+++ b/migration/trace-events
@@ -297,7 +297,6 @@  postcopy_request_shared_page(const char *sharer, const char *rb, uint64_t rb_off
 postcopy_request_shared_page_present(const char *sharer, const char *rb, uint64_t rb_offset) "%s already %s offset 0x%"PRIx64
 postcopy_wake_shared(uint64_t client_addr, const char *rb) "at 0x%"PRIx64" in %s"
 postcopy_page_req_del(void *addr, int count) "resolved page req %p total %d"
-postcopy_preempt_tls_handshake(void) ""
 postcopy_preempt_new_channel(void) ""
 postcopy_preempt_thread_entry(void) ""
 postcopy_preempt_thread_exit(void) ""