da38d5c28e
- kvm-tests-avocado-update-aarch64_virt-test-to-exercise-c.patch [bz#2060839] - kvm-RHEL-only-tests-avocado-Switch-aarch64-tests-from-a5.patch [bz#2060839] - kvm-RHEL-only-AArch64-Drop-unsupported-CPU-types.patch [bz#2060839] - kvm-target-i386-deprecate-CPUs-older-than-x86_64-v2-ABI.patch [bz#2060839] - kvm-target-s390x-deprecate-CPUs-older-than-z14.patch [bz#2060839] - kvm-target-arm-deprecate-named-CPU-models.patch [bz#2060839] - kvm-meson.build-Fix-docker-test-build-alpine-when-includ.patch [bz#1968509] - kvm-QIOChannel-Add-flags-on-io_writev-and-introduce-io_f.patch [bz#1968509] - kvm-QIOChannelSocket-Implement-io_writev-zero-copy-flag-.patch [bz#1968509] - kvm-migration-Add-zero-copy-send-parameter-for-QMP-HMP-f.patch [bz#1968509] - kvm-migration-Add-migrate_use_tls-helper.patch [bz#1968509] - kvm-multifd-multifd_send_sync_main-now-returns-negative-.patch [bz#1968509] - kvm-multifd-Send-header-packet-without-flags-if-zero-cop.patch [bz#1968509] - kvm-multifd-Implement-zero-copy-write-in-multifd-migrati.patch [bz#1968509] - kvm-QIOChannelSocket-Introduce-assert-and-reduce-ifdefs-.patch [bz#1968509] - kvm-QIOChannelSocket-Fix-zero-copy-send-so-socket-flush-.patch [bz#1968509] - kvm-migration-Change-zero_copy_send-from-migration-param.patch [bz#1968509] - kvm-migration-Allow-migrate-recover-to-run-multiple-time.patch [bz#2096143] - Resolves: bz#2060839 (Consider deprecating CPU models like "kvm64" / "qemu64" on RHEL 9) - Resolves: bz#1968509 (Use MSG_ZEROCOPY on QEMU Live Migration) - Resolves: bz#2096143 (The migration port is not released if use it again for recovering postcopy migration)
107 lines
3.7 KiB
Diff
107 lines
3.7 KiB
Diff
From 828f6c106eedcb7a48e551ffda15af56ff92a899 Mon Sep 17 00:00:00 2001
|
|
From: Leonardo Bras <leobras@redhat.com>
|
|
Date: Fri, 13 May 2022 03:28:34 -0300
|
|
Subject: [PATCH 11/18] migration: Add migrate_use_tls() helper
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
RH-Author: Leonardo Brás <leobras@redhat.com>
|
|
RH-MergeRequest: 95: MSG_ZEROCOPY + Multifd
|
|
RH-Commit: [5/11] 06e945297c3b9c0ce5864885aafcdba1e5746bc2 (LeoBras/centos-qemu-kvm)
|
|
RH-Bugzilla: 1968509
|
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
RH-Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
|
RH-Acked-by: Peter Xu <peterx@redhat.com>
|
|
|
|
A lot of places check parameters.tls_creds in order to evaluate if TLS is
|
|
in use, and sometimes call migrate_get_current() just for that test.
|
|
|
|
Add new helper function migrate_use_tls() in order to simplify testing
|
|
for TLS usage.
|
|
|
|
Signed-off-by: Leonardo Bras <leobras@redhat.com>
|
|
Reviewed-by: Juan Quintela <quintela@redhat.com>
|
|
Reviewed-by: Peter Xu <peterx@redhat.com>
|
|
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
|
Message-Id: <20220513062836.965425-6-leobras@redhat.com>
|
|
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
|
(cherry picked from commit d2fafb6a6814a8998607d0baf691265032996a0f)
|
|
Signed-off-by: Leonardo Bras <leobras@redhat.com>
|
|
---
|
|
migration/channel.c | 3 +--
|
|
migration/migration.c | 9 +++++++++
|
|
migration/migration.h | 1 +
|
|
migration/multifd.c | 5 +----
|
|
4 files changed, 12 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/migration/channel.c b/migration/channel.c
|
|
index c4fc000a1a..086b5c0d8b 100644
|
|
--- a/migration/channel.c
|
|
+++ b/migration/channel.c
|
|
@@ -38,8 +38,7 @@ void migration_channel_process_incoming(QIOChannel *ioc)
|
|
trace_migration_set_incoming_channel(
|
|
ioc, object_get_typename(OBJECT(ioc)));
|
|
|
|
- if (s->parameters.tls_creds &&
|
|
- *s->parameters.tls_creds &&
|
|
+ if (migrate_use_tls() &&
|
|
!object_dynamic_cast(OBJECT(ioc),
|
|
TYPE_QIO_CHANNEL_TLS)) {
|
|
migration_tls_channel_process_incoming(s, ioc, &local_err);
|
|
diff --git a/migration/migration.c b/migration/migration.c
|
|
index 0a6b3b9f4d..d91efb66fe 100644
|
|
--- a/migration/migration.c
|
|
+++ b/migration/migration.c
|
|
@@ -2582,6 +2582,15 @@ bool migrate_use_zero_copy_send(void)
|
|
}
|
|
#endif
|
|
|
|
+int migrate_use_tls(void)
|
|
+{
|
|
+ MigrationState *s;
|
|
+
|
|
+ s = migrate_get_current();
|
|
+
|
|
+ return s->parameters.tls_creds && *s->parameters.tls_creds;
|
|
+}
|
|
+
|
|
int migrate_use_xbzrle(void)
|
|
{
|
|
MigrationState *s;
|
|
diff --git a/migration/migration.h b/migration/migration.h
|
|
index 5bcb7628ef..c2cabb8a14 100644
|
|
--- a/migration/migration.h
|
|
+++ b/migration/migration.h
|
|
@@ -381,6 +381,7 @@ bool migrate_use_zero_copy_send(void);
|
|
#else
|
|
#define migrate_use_zero_copy_send() (false)
|
|
#endif
|
|
+int migrate_use_tls(void);
|
|
int migrate_use_xbzrle(void);
|
|
uint64_t migrate_xbzrle_cache_size(void);
|
|
bool migrate_colo_enabled(void);
|
|
diff --git a/migration/multifd.c b/migration/multifd.c
|
|
index 76b57a7177..43998ad117 100644
|
|
--- a/migration/multifd.c
|
|
+++ b/migration/multifd.c
|
|
@@ -784,14 +784,11 @@ static bool multifd_channel_connect(MultiFDSendParams *p,
|
|
QIOChannel *ioc,
|
|
Error *error)
|
|
{
|
|
- MigrationState *s = migrate_get_current();
|
|
-
|
|
trace_multifd_set_outgoing_channel(
|
|
ioc, object_get_typename(OBJECT(ioc)), p->tls_hostname, error);
|
|
|
|
if (!error) {
|
|
- if (s->parameters.tls_creds &&
|
|
- *s->parameters.tls_creds &&
|
|
+ if (migrate_use_tls() &&
|
|
!object_dynamic_cast(OBJECT(ioc),
|
|
TYPE_QIO_CHANNEL_TLS)) {
|
|
multifd_tls_channel_connect(p, ioc, &error);
|
|
--
|
|
2.35.3
|
|
|