From e092daacee330b8f758bceaf1e9a0ccfec2e00c8 Mon Sep 17 00:00:00 2001 From: Jim Fehlig Date: Fri, 17 Jan 2020 10:36:32 -0700 Subject: [PATCH] lib: Prohibit parallel connections with tunneled migration MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Ján Tomko --- src/libvirt-domain.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c index ceda85c243..1365451373 100644 --- a/src/libvirt-domain.c +++ b/src/libvirt-domain.c @@ -3546,6 +3546,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)) { @@ -3701,6 +3705,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)) { @@ -4087,6 +4095,10 @@ virDomainMigrateToURI(virDomainPtr domain, 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; @@ -4159,6 +4171,10 @@ virDomainMigrateToURI2(virDomainPtr domain, 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; @@ -4232,6 +4248,10 @@ virDomainMigrateToURI3(virDomainPtr domain, 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; -- 2.39.5