forked from pool/libvirt
76 lines
2.9 KiB
Diff
76 lines
2.9 KiB
Diff
|
commit e092daacee330b8f758bceaf1e9a0ccfec2e00c8
|
||
|
Author: Jim Fehlig <jfehlig@suse.com>
|
||
|
Date: Fri Jan 17 10:36:32 2020 -0700
|
||
|
|
||
|
lib: Prohibit parallel connections with tunneled migration
|
||
|
|
||
|
As discussed on the developer list, parallel migration connections
|
||
|
are not compatible with tunneled migration
|
||
|
|
||
|
https://www.redhat.com/archives/libvir-list/2020-January/msg00463.html
|
||
|
|
||
|
Prohibit the concurrent use of parallel and tunneled migration options.
|
||
|
|
||
|
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||
|
|
||
|
Index: libvirt-6.0.0/src/libvirt-domain.c
|
||
|
===================================================================
|
||
|
--- libvirt-6.0.0.orig/src/libvirt-domain.c
|
||
|
+++ libvirt-6.0.0/src/libvirt-domain.c
|
||
|
@@ -3548,6 +3548,10 @@ virDomainMigrate(virDomainPtr domain,
|
||
|
VIR_MIGRATE_NON_SHARED_INC,
|
||
|
error);
|
||
|
|
||
|
+ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED,
|
||
|
+ VIR_MIGRATE_PARALLEL,
|
||
|
+ error);
|
||
|
+
|
||
|
if (flags & VIR_MIGRATE_OFFLINE) {
|
||
|
if (!VIR_DRV_SUPPORTS_FEATURE(domain->conn->driver, domain->conn,
|
||
|
VIR_DRV_FEATURE_MIGRATION_OFFLINE)) {
|
||
|
@@ -3703,6 +3707,10 @@ virDomainMigrate2(virDomainPtr domain,
|
||
|
VIR_MIGRATE_NON_SHARED_INC,
|
||
|
error);
|
||
|
|
||
|
+ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED,
|
||
|
+ VIR_MIGRATE_PARALLEL,
|
||
|
+ error);
|
||
|
+
|
||
|
if (flags & VIR_MIGRATE_OFFLINE) {
|
||
|
if (!VIR_DRV_SUPPORTS_FEATURE(domain->conn->driver, domain->conn,
|
||
|
VIR_DRV_FEATURE_MIGRATION_OFFLINE)) {
|
||
|
@@ -4089,6 +4097,10 @@ virDomainMigrateToURI(virDomainPtr domai
|
||
|
virCheckReadOnlyGoto(domain->conn->flags, error);
|
||
|
virCheckNonNullArgGoto(duri, error);
|
||
|
|
||
|
+ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED,
|
||
|
+ VIR_MIGRATE_PARALLEL,
|
||
|
+ error);
|
||
|
+
|
||
|
if (virDomainMigrateUnmanagedCheckCompat(domain, flags) < 0)
|
||
|
goto error;
|
||
|
|
||
|
@@ -4161,6 +4173,10 @@ virDomainMigrateToURI2(virDomainPtr doma
|
||
|
virCheckDomainReturn(domain, -1);
|
||
|
virCheckReadOnlyGoto(domain->conn->flags, error);
|
||
|
|
||
|
+ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED,
|
||
|
+ VIR_MIGRATE_PARALLEL,
|
||
|
+ error);
|
||
|
+
|
||
|
if (virDomainMigrateUnmanagedCheckCompat(domain, flags) < 0)
|
||
|
goto error;
|
||
|
|
||
|
@@ -4234,6 +4250,10 @@ virDomainMigrateToURI3(virDomainPtr doma
|
||
|
virCheckDomainReturn(domain, -1);
|
||
|
virCheckReadOnlyGoto(domain->conn->flags, error);
|
||
|
|
||
|
+ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED,
|
||
|
+ VIR_MIGRATE_PARALLEL,
|
||
|
+ error);
|
||
|
+
|
||
|
if (virDomainMigrateUnmanagedCheckCompat(domain, flags) < 0)
|
||
|
goto error;
|
||
|
|