61 lines
2.3 KiB
Diff
61 lines
2.3 KiB
Diff
|
|
From 07df0ab940bb3688a3208b80d733db3cbfbde687 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Jiri Denemark <jdenemar@redhat.com>
|
||
|
|
Date: Fri, 19 Jul 2019 15:46:33 +0200
|
||
|
|
Subject: [PATCH] virsh migrate: Properly check for --parallel-connections
|
||
|
|
|
||
|
|
Ever since --parallel-connections option for virsh migrate was
|
||
|
|
introduced we did not properly check the return value of
|
||
|
|
vshCommandOptInt. We would set VIR_MIGRATE_PARAM_PARALLEL_CONNECTIONS
|
||
|
|
parameter even if vshCommandOptInt returned 0 (which means
|
||
|
|
--parallel-connections was not specified) when another int option which
|
||
|
|
was checked earlier was specified with a nonzero value.
|
||
|
|
|
||
|
|
Specifically, running virsh migrate with either
|
||
|
|
--auto-converge-increment, --auto-converge-initial, --comp-mt-dthreads,
|
||
|
|
--comp-mt-threads, or --comp-mt-level would set
|
||
|
|
VIR_MIGRATE_PARAM_PARALLEL_CONNECTIONS parameter and if --parallel
|
||
|
|
option was not used, libvirt would complain
|
||
|
|
|
||
|
|
error: invalid argument: Turn parallel migration on to tune it
|
||
|
|
|
||
|
|
even though --parallel-connections option was not used at all.
|
||
|
|
|
||
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=1726643
|
||
|
|
|
||
|
|
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||
|
|
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||
|
|
(cherry-picked from commit 88ce7bac413a7a5722b2ffe53dd844c0d677168a)
|
||
|
|
Signed-off-by: Xu Yandong <xuyandong2@huawei.com>
|
||
|
|
---
|
||
|
|
tools/virsh-domain.c | 13 +++++++------
|
||
|
|
1 file changed, 7 insertions(+), 6 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
|
||
|
|
index 828ae30..2ad7395 100644
|
||
|
|
--- a/tools/virsh-domain.c
|
||
|
|
+++ b/tools/virsh-domain.c
|
||
|
|
@@ -10785,13 +10785,14 @@ doMigrate(void *opaque)
|
||
|
|
goto save_error;
|
||
|
|
}
|
||
|
|
|
||
|
|
- if (vshCommandOptInt(ctl, cmd, "parallel-connections", &intOpt) < 0)
|
||
|
|
+ if ((rv = vshCommandOptInt(ctl, cmd, "parallel-connections", &intOpt)) < 0) {
|
||
|
|
goto out;
|
||
|
|
- if (intOpt &&
|
||
|
|
- virTypedParamsAddInt(¶ms, &nparams, &maxparams,
|
||
|
|
- VIR_MIGRATE_PARAM_PARALLEL_CONNECTIONS,
|
||
|
|
- intOpt) < 0)
|
||
|
|
- goto save_error;
|
||
|
|
+ } else if (rv > 0) {
|
||
|
|
+ if (virTypedParamsAddInt(¶ms, &nparams, &maxparams,
|
||
|
|
+ VIR_MIGRATE_PARAM_PARALLEL_CONNECTIONS,
|
||
|
|
+ intOpt) < 0)
|
||
|
|
+ goto save_error;
|
||
|
|
+ }
|
||
|
|
|
||
|
|
if (vshCommandOptBool(cmd, "live"))
|
||
|
|
flags |= VIR_MIGRATE_LIVE;
|
||
|
|
--
|
||
|
|
2.19.1
|
||
|
|
|