update patch with openeuler !55
Signed-off-by: yezengruan <yezengruan@huawei.com>
This commit is contained in:
parent
d5dde37654
commit
4d80e9430b
26
libvirt.spec
26
libvirt.spec
@ -101,7 +101,7 @@
|
||||
Summary: Library providing a simple virtualization API
|
||||
Name: libvirt
|
||||
Version: 6.2.0
|
||||
Release: 32
|
||||
Release: 33
|
||||
License: LGPLv2+
|
||||
URL: https://libvirt.org/
|
||||
|
||||
@ -215,6 +215,14 @@ Patch0102: testCompareXMLToArgv-Split-out-preparation-and-comma.patch
|
||||
Patch0103: virQEMUBuildNetdevCommandlineFromJSON-Prepare-for-qu.patch
|
||||
Patch0104: qemu-Prepare-for-testing-of-netdev_add-props-via-qem.patch
|
||||
Patch0105: qemuxml2argvtest-Add-QAPI-QMP-schema-validation-for-.patch
|
||||
Patch0106: qemu-Probe-for-a-few-params-supported-by-migrate-set.patch
|
||||
Patch0107: qemu-Avoid-deprecated-migrate_set_speed-QMP-command.patch
|
||||
Patch0108: qemu-Avoid-deprecated-migrate_set_downtime-QMP-comma.patch
|
||||
Patch0109: qemu-Avoid-deprecated-query-migrate-cache-size-QMP-c.patch
|
||||
Patch0110: qemu-Avoid-deprecated-migrate-set-cache-size-QMP-com.patch
|
||||
Patch0111: qemu-Track-numa-mem-supported-machine-attribute.patch
|
||||
Patch0112: qemuBuildNumaArgStr-Switch-order-of-if-and-for.patch
|
||||
Patch0113: qemuBuildNumaArgStr-Use-modern-numa-memdev-if-old-nu.patch
|
||||
|
||||
Requires: libvirt-daemon = %{version}-%{release}
|
||||
Requires: libvirt-daemon-config-network = %{version}-%{release}
|
||||
@ -1949,6 +1957,16 @@ exit 0
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Mar 11 2022 yezengruan <yezengruan@huawei.com>
|
||||
- qemu: Probe for a few params supported by migrate-set-parameters
|
||||
- qemu: Avoid deprecated migrate_set_speed QMP command
|
||||
- qemu: Avoid deprecated migrate_set_downtime QMP command
|
||||
- qemu: Avoid deprecated query-migrate-cache-size QMP command
|
||||
- qemu: Avoid deprecated migrate-set-cache-size QMP command
|
||||
- qemu: Track numa-mem-supported machine attribute
|
||||
- qemuBuildNumaArgStr: Switch order of if() and for()
|
||||
- qemuBuildNumaArgStr: Use modern -numa memdev= if old -numa mem= is unsupported
|
||||
|
||||
* Mon Feb 21 2022 imxcc <xingchaochao@huawei.com>
|
||||
- virQEMUBuildCommandLineJSON: Allow skipping certain keys
|
||||
- virQEMUBuildCommandLineJSON: Add possibility for using 'on/off' instead of 'yes/no'
|
||||
@ -1972,13 +1990,13 @@ exit 0
|
||||
* Sat Feb 12 2022 imxcc <xingchaochao@huawei.com>
|
||||
- hotpatch: virsh support autoload mode
|
||||
|
||||
* Fri Jun 29 2022 imxcc <xingchaochao@huawei.com>
|
||||
* Fri Jan 29 2022 imxcc <xingchaochao@huawei.com>
|
||||
- Revert "tests: disabale storage tests"
|
||||
|
||||
* Fri Jun 14 2022 imxcc <xingchaochao@huawei.com>
|
||||
* Fri Jan 14 2022 imxcc <xingchaochao@huawei.com>
|
||||
- tests: disabale storage tests
|
||||
|
||||
* Tue Jun 11 2022 imxcc <xingchaochao@huawei.com>
|
||||
* Tue Jan 11 2022 imxcc <xingchaochao@huawei.com>
|
||||
- docs: build: Don't include stylesheet in intermediate html
|
||||
- tests: Replace deprecated ASN1 code
|
||||
|
||||
|
||||
81
qemu-Avoid-deprecated-migrate-set-cache-size-QMP-com.patch
Normal file
81
qemu-Avoid-deprecated-migrate-set-cache-size-QMP-com.patch
Normal file
@ -0,0 +1,81 @@
|
||||
From 4fe1ead5da84610bba30cae9315ff38de765711f Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Wed, 10 Jun 2020 16:13:15 +0200
|
||||
Subject: [PATCH 5/8] qemu: Avoid deprecated migrate-set-cache-size QMP command
|
||||
|
||||
The same functionality can be achieved using migrate-set-parameters QMP
|
||||
command with xbzrle-cache-size parameter.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1845012
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||
---
|
||||
src/qemu/qemu_driver.c | 26 +++++++++++++++++++++-----
|
||||
src/qemu/qemu_migration_params.c | 3 +--
|
||||
2 files changed, 22 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
|
||||
index 1ad33197e0..e7166e4af3 100644
|
||||
--- a/src/qemu/qemu_driver.c
|
||||
+++ b/src/qemu/qemu_driver.c
|
||||
@@ -14067,7 +14067,9 @@ qemuDomainMigrateSetCompressionCache(virDomainPtr dom,
|
||||
virQEMUDriverPtr driver = dom->conn->privateData;
|
||||
virDomainObjPtr vm;
|
||||
qemuDomainObjPrivatePtr priv;
|
||||
+ g_autoptr(qemuMigrationParams) migParams = NULL;
|
||||
int ret = -1;
|
||||
+ int rc;
|
||||
|
||||
virCheckFlags(0, -1);
|
||||
|
||||
@@ -14092,13 +14094,27 @@ qemuDomainMigrateSetCompressionCache(virDomainPtr dom,
|
||||
goto endjob;
|
||||
}
|
||||
|
||||
- qemuDomainObjEnterMonitor(driver, vm);
|
||||
-
|
||||
VIR_DEBUG("Setting compression cache to %llu B", cacheSize);
|
||||
- ret = qemuMonitorSetMigrationCacheSize(priv->mon, cacheSize);
|
||||
+ if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_XBZRLE_CACHE_SIZE)) {
|
||||
+ if (!(migParams = qemuMigrationParamsNew()))
|
||||
+ goto endjob;
|
||||
|
||||
- if (qemuDomainObjExitMonitor(driver, vm) < 0)
|
||||
- ret = -1;
|
||||
+ if (qemuMigrationParamsSetULL(migParams,
|
||||
+ QEMU_MIGRATION_PARAM_XBZRLE_CACHE_SIZE,
|
||||
+ cacheSize) < 0)
|
||||
+ goto endjob;
|
||||
+
|
||||
+ if (qemuMigrationParamsApply(driver, vm, QEMU_ASYNC_JOB_NONE,
|
||||
+ migParams) < 0)
|
||||
+ goto endjob;
|
||||
+ } else {
|
||||
+ qemuDomainObjEnterMonitor(driver, vm);
|
||||
+ rc = qemuMonitorSetMigrationCacheSize(priv->mon, cacheSize);
|
||||
+ if (qemuDomainObjExitMonitor(driver, vm) < 0 || rc < 0)
|
||||
+ goto endjob;
|
||||
+ }
|
||||
+
|
||||
+ ret = 0;
|
||||
|
||||
endjob:
|
||||
qemuDomainObjEndJob(driver, vm);
|
||||
diff --git a/src/qemu/qemu_migration_params.c b/src/qemu/qemu_migration_params.c
|
||||
index 810199370f..6953badcfe 100644
|
||||
--- a/src/qemu/qemu_migration_params.c
|
||||
+++ b/src/qemu/qemu_migration_params.c
|
||||
@@ -869,8 +869,7 @@ qemuMigrationParamsApply(virQEMUDriverPtr driver,
|
||||
* qemuMonitorSetMigrationParams to ignore this parameter.
|
||||
*/
|
||||
if (migParams->params[xbzrle].set &&
|
||||
- (!priv->job.migParams ||
|
||||
- !priv->job.migParams->params[xbzrle].set)) {
|
||||
+ !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_XBZRLE_CACHE_SIZE)) {
|
||||
if (qemuMonitorSetMigrationCacheSize(priv->mon,
|
||||
migParams->params[xbzrle].value.ull) < 0)
|
||||
goto cleanup;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
65
qemu-Avoid-deprecated-migrate_set_downtime-QMP-comma.patch
Normal file
65
qemu-Avoid-deprecated-migrate_set_downtime-QMP-comma.patch
Normal file
@ -0,0 +1,65 @@
|
||||
From df9385f88c666783c7ac53800f00e359a4177145 Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Wed, 10 Jun 2020 16:13:15 +0200
|
||||
Subject: [PATCH 3/8] qemu: Avoid deprecated migrate_set_downtime QMP command
|
||||
|
||||
The same functionality can be achieved using migrate-set-parameters QMP
|
||||
command with downtime-limit parameter.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1829543
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||
---
|
||||
src/qemu/qemu_driver.c | 27 +++++++++++++++++++++++----
|
||||
1 file changed, 23 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
|
||||
index 1521bc6b2b..3482dccc43 100644
|
||||
--- a/src/qemu/qemu_driver.c
|
||||
+++ b/src/qemu/qemu_driver.c
|
||||
@@ -13892,7 +13892,9 @@ qemuDomainMigrateSetMaxDowntime(virDomainPtr dom,
|
||||
virQEMUDriverPtr driver = dom->conn->privateData;
|
||||
virDomainObjPtr vm;
|
||||
qemuDomainObjPrivatePtr priv;
|
||||
+ g_autoptr(qemuMigrationParams) migParams = NULL;
|
||||
int ret = -1;
|
||||
+ int rc;
|
||||
|
||||
virCheckFlags(0, -1);
|
||||
|
||||
@@ -13911,10 +13913,27 @@ qemuDomainMigrateSetMaxDowntime(virDomainPtr dom,
|
||||
priv = vm->privateData;
|
||||
|
||||
VIR_DEBUG("Setting migration downtime to %llums", downtime);
|
||||
- qemuDomainObjEnterMonitor(driver, vm);
|
||||
- ret = qemuMonitorSetMigrationDowntime(priv->mon, downtime);
|
||||
- if (qemuDomainObjExitMonitor(driver, vm) < 0)
|
||||
- ret = -1;
|
||||
+
|
||||
+ if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_DOWNTIME)) {
|
||||
+ if (!(migParams = qemuMigrationParamsNew()))
|
||||
+ goto endjob;
|
||||
+
|
||||
+ if (qemuMigrationParamsSetULL(migParams,
|
||||
+ QEMU_MIGRATION_PARAM_DOWNTIME_LIMIT,
|
||||
+ downtime) < 0)
|
||||
+ goto endjob;
|
||||
+
|
||||
+ if (qemuMigrationParamsApply(driver, vm, QEMU_ASYNC_JOB_NONE,
|
||||
+ migParams) < 0)
|
||||
+ goto endjob;
|
||||
+ } else {
|
||||
+ qemuDomainObjEnterMonitor(driver, vm);
|
||||
+ rc = qemuMonitorSetMigrationDowntime(priv->mon, downtime);
|
||||
+ if (qemuDomainObjExitMonitor(driver, vm) < 0 || rc < 0)
|
||||
+ goto endjob;
|
||||
+ }
|
||||
+
|
||||
+ ret = 0;
|
||||
|
||||
endjob:
|
||||
qemuDomainObjEndJob(driver, vm);
|
||||
--
|
||||
2.27.0
|
||||
|
||||
174
qemu-Avoid-deprecated-migrate_set_speed-QMP-command.patch
Normal file
174
qemu-Avoid-deprecated-migrate_set_speed-QMP-command.patch
Normal file
@ -0,0 +1,174 @@
|
||||
From d72c84f9369152d0ca69fb201d4ae41ee559a94b Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Wed, 10 Jun 2020 16:13:15 +0200
|
||||
Subject: [PATCH 2/8] qemu: Avoid deprecated migrate_set_speed QMP command
|
||||
|
||||
The same functionality can be achieved using migrate-set-parameters QMP
|
||||
command with max-bandwidth parameter.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1829545
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||
---
|
||||
src/qemu/qemu_driver.c | 18 ++++++++++---
|
||||
src/qemu/qemu_migration.c | 53 +++++++++++++++++++++++++++++++--------
|
||||
2 files changed, 57 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
|
||||
index 21e9a8760e..1521bc6b2b 100644
|
||||
--- a/src/qemu/qemu_driver.c
|
||||
+++ b/src/qemu/qemu_driver.c
|
||||
@@ -14086,6 +14086,7 @@ qemuDomainMigrateSetMaxSpeed(virDomainPtr dom,
|
||||
qemuDomainObjPrivatePtr priv;
|
||||
bool postcopy = !!(flags & VIR_DOMAIN_MIGRATE_MAX_SPEED_POSTCOPY);
|
||||
g_autoptr(qemuMigrationParams) migParams = NULL;
|
||||
+ bool bwParam;
|
||||
unsigned long long max;
|
||||
int ret = -1;
|
||||
|
||||
@@ -14124,12 +14125,20 @@ qemuDomainMigrateSetMaxSpeed(virDomainPtr dom,
|
||||
|
||||
VIR_DEBUG("Setting migration bandwidth to %luMbs", bandwidth);
|
||||
|
||||
- if (postcopy) {
|
||||
+ bwParam = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_BANDWIDTH);
|
||||
+
|
||||
+ if (postcopy || bwParam) {
|
||||
+ qemuMigrationParam param;
|
||||
+
|
||||
if (!(migParams = qemuMigrationParamsNew()))
|
||||
goto endjob;
|
||||
|
||||
- if (qemuMigrationParamsSetULL(migParams,
|
||||
- QEMU_MIGRATION_PARAM_MAX_POSTCOPY_BANDWIDTH,
|
||||
+ if (postcopy)
|
||||
+ param = QEMU_MIGRATION_PARAM_MAX_POSTCOPY_BANDWIDTH;
|
||||
+ else
|
||||
+ param = QEMU_MIGRATION_PARAM_MAX_BANDWIDTH;
|
||||
+
|
||||
+ if (qemuMigrationParamsSetULL(migParams, param,
|
||||
bandwidth * 1024 * 1024) < 0)
|
||||
goto endjob;
|
||||
|
||||
@@ -14143,9 +14152,10 @@ qemuDomainMigrateSetMaxSpeed(virDomainPtr dom,
|
||||
rc = qemuMonitorSetMigrationSpeed(priv->mon, bandwidth);
|
||||
if (qemuDomainObjExitMonitor(driver, vm) < 0 || rc < 0)
|
||||
goto endjob;
|
||||
+ }
|
||||
|
||||
+ if (!postcopy)
|
||||
priv->migMaxBandwidth = bandwidth;
|
||||
- }
|
||||
|
||||
ret = 0;
|
||||
|
||||
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
|
||||
index 1665071eb3..cd40a886e3 100644
|
||||
--- a/src/qemu/qemu_migration.c
|
||||
+++ b/src/qemu/qemu_migration.c
|
||||
@@ -3507,6 +3507,7 @@ qemuMigrationSrcRun(virQEMUDriverPtr driver,
|
||||
unsigned int cookieFlags = 0;
|
||||
bool abort_on_error = !!(flags & VIR_MIGRATE_ABORT_ON_ERROR);
|
||||
bool events = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_EVENT);
|
||||
+ bool bwParam = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_BANDWIDTH);
|
||||
bool cancel = false;
|
||||
unsigned int waitFlags;
|
||||
virDomainDefPtr persistDef = NULL;
|
||||
@@ -3594,6 +3595,11 @@ qemuMigrationSrcRun(virQEMUDriverPtr driver,
|
||||
goto error;
|
||||
}
|
||||
|
||||
+ if (bwParam &&
|
||||
+ qemuMigrationParamsSetULL(migParams, QEMU_MIGRATION_PARAM_MAX_BANDWIDTH,
|
||||
+ migrate_speed * 1024 * 1024) < 0)
|
||||
+ goto error;
|
||||
+
|
||||
if (qemuMigrationParamsApply(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT,
|
||||
migParams) < 0)
|
||||
goto error;
|
||||
@@ -3656,7 +3662,8 @@ qemuMigrationSrcRun(virQEMUDriverPtr driver,
|
||||
goto exit_monitor;
|
||||
}
|
||||
|
||||
- if (qemuMonitorSetMigrationSpeed(priv->mon, migrate_speed) < 0)
|
||||
+ if (!bwParam &&
|
||||
+ qemuMonitorSetMigrationSpeed(priv->mon, migrate_speed) < 0)
|
||||
goto exit_monitor;
|
||||
|
||||
/* connect to the destination qemu if needed */
|
||||
@@ -5311,24 +5318,41 @@ qemuMigrationSrcToFile(virQEMUDriverPtr driver, virDomainObjPtr vm,
|
||||
qemuDomainAsyncJob asyncJob)
|
||||
{
|
||||
qemuDomainObjPrivatePtr priv = vm->privateData;
|
||||
+ bool bwParam = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_BANDWIDTH);
|
||||
int rc;
|
||||
int ret = -1;
|
||||
int pipeFD[2] = { -1, -1 };
|
||||
unsigned long saveMigBandwidth = priv->migMaxBandwidth;
|
||||
char *errbuf = NULL;
|
||||
virErrorPtr orig_err = NULL;
|
||||
+ g_autoptr(qemuMigrationParams) migParams = NULL;
|
||||
|
||||
if (qemuMigrationSetDBusVMState(driver, vm) < 0)
|
||||
return -1;
|
||||
|
||||
/* Increase migration bandwidth to unlimited since target is a file.
|
||||
* Failure to change migration speed is not fatal. */
|
||||
- if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) == 0) {
|
||||
- qemuMonitorSetMigrationSpeed(priv->mon,
|
||||
- QEMU_DOMAIN_MIG_BANDWIDTH_MAX);
|
||||
- priv->migMaxBandwidth = QEMU_DOMAIN_MIG_BANDWIDTH_MAX;
|
||||
- if (qemuDomainObjExitMonitor(driver, vm) < 0)
|
||||
+ if (bwParam) {
|
||||
+ if (!(migParams = qemuMigrationParamsNew()))
|
||||
+ return -1;
|
||||
+
|
||||
+ if (qemuMigrationParamsSetULL(migParams,
|
||||
+ QEMU_MIGRATION_PARAM_MAX_BANDWIDTH,
|
||||
+ QEMU_DOMAIN_MIG_BANDWIDTH_MAX * 1024 * 1024) < 0)
|
||||
+ return -1;
|
||||
+
|
||||
+ if (qemuMigrationParamsApply(driver, vm, asyncJob, migParams) < 0)
|
||||
return -1;
|
||||
+
|
||||
+ priv->migMaxBandwidth = QEMU_DOMAIN_MIG_BANDWIDTH_MAX;
|
||||
+ } else {
|
||||
+ if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) == 0) {
|
||||
+ qemuMonitorSetMigrationSpeed(priv->mon,
|
||||
+ QEMU_DOMAIN_MIG_BANDWIDTH_MAX);
|
||||
+ priv->migMaxBandwidth = QEMU_DOMAIN_MIG_BANDWIDTH_MAX;
|
||||
+ if (qemuDomainObjExitMonitor(driver, vm) < 0)
|
||||
+ return -1;
|
||||
+ }
|
||||
}
|
||||
|
||||
if (!virDomainObjIsActive(vm)) {
|
||||
@@ -5409,11 +5433,20 @@ qemuMigrationSrcToFile(virQEMUDriverPtr driver, virDomainObjPtr vm,
|
||||
virErrorPreserveLast(&orig_err);
|
||||
|
||||
/* Restore max migration bandwidth */
|
||||
- if (virDomainObjIsActive(vm) &&
|
||||
- qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) == 0) {
|
||||
- qemuMonitorSetMigrationSpeed(priv->mon, saveMigBandwidth);
|
||||
+ if (virDomainObjIsActive(vm)) {
|
||||
+ if (bwParam) {
|
||||
+ if (qemuMigrationParamsSetULL(migParams,
|
||||
+ QEMU_MIGRATION_PARAM_MAX_BANDWIDTH,
|
||||
+ saveMigBandwidth * 1024 * 1024) == 0)
|
||||
+ ignore_value(qemuMigrationParamsApply(driver, vm, asyncJob,
|
||||
+ migParams));
|
||||
+ } else {
|
||||
+ if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) == 0) {
|
||||
+ qemuMonitorSetMigrationSpeed(priv->mon, saveMigBandwidth);
|
||||
+ ignore_value(qemuDomainObjExitMonitor(driver, vm));
|
||||
+ }
|
||||
+ }
|
||||
priv->migMaxBandwidth = saveMigBandwidth;
|
||||
- ignore_value(qemuDomainObjExitMonitor(driver, vm));
|
||||
}
|
||||
|
||||
VIR_FORCE_CLOSE(pipeFD[0]);
|
||||
--
|
||||
2.27.0
|
||||
|
||||
62
qemu-Avoid-deprecated-query-migrate-cache-size-QMP-c.patch
Normal file
62
qemu-Avoid-deprecated-query-migrate-cache-size-QMP-c.patch
Normal file
@ -0,0 +1,62 @@
|
||||
From c458102192d82a3a8a5f045cd9df34c29b287ab8 Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Wed, 10 Jun 2020 16:13:15 +0200
|
||||
Subject: [PATCH 4/8] qemu: Avoid deprecated query-migrate-cache-size QMP
|
||||
command
|
||||
|
||||
The same functionality can be achieved using query-migrate-parameters
|
||||
QMP command and checking the xbzrle-cache-size parameter.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1829544
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||
---
|
||||
src/qemu/qemu_driver.c | 21 +++++++++++++++++----
|
||||
1 file changed, 17 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
|
||||
index 3482dccc43..1ad33197e0 100644
|
||||
--- a/src/qemu/qemu_driver.c
|
||||
+++ b/src/qemu/qemu_driver.c
|
||||
@@ -14006,7 +14006,9 @@ qemuDomainMigrateGetCompressionCache(virDomainPtr dom,
|
||||
virQEMUDriverPtr driver = dom->conn->privateData;
|
||||
virDomainObjPtr vm;
|
||||
qemuDomainObjPrivatePtr priv;
|
||||
+ g_autoptr(qemuMigrationParams) migParams = NULL;
|
||||
int ret = -1;
|
||||
+ int rc;
|
||||
|
||||
virCheckFlags(0, -1);
|
||||
|
||||
@@ -14031,12 +14033,23 @@ qemuDomainMigrateGetCompressionCache(virDomainPtr dom,
|
||||
goto endjob;
|
||||
}
|
||||
|
||||
- qemuDomainObjEnterMonitor(driver, vm);
|
||||
+ if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_XBZRLE_CACHE_SIZE)) {
|
||||
+ if (qemuMigrationParamsFetch(driver, vm, QEMU_ASYNC_JOB_NONE,
|
||||
+ &migParams) < 0)
|
||||
+ goto endjob;
|
||||
|
||||
- ret = qemuMonitorGetMigrationCacheSize(priv->mon, cacheSize);
|
||||
+ if (qemuMigrationParamsGetULL(migParams,
|
||||
+ QEMU_MIGRATION_PARAM_XBZRLE_CACHE_SIZE,
|
||||
+ cacheSize) < 0)
|
||||
+ goto endjob;
|
||||
+ } else {
|
||||
+ qemuDomainObjEnterMonitor(driver, vm);
|
||||
+ rc = qemuMonitorGetMigrationCacheSize(priv->mon, cacheSize);
|
||||
+ if (qemuDomainObjExitMonitor(driver, vm) < 0 || rc < 0)
|
||||
+ goto endjob;
|
||||
+ }
|
||||
|
||||
- if (qemuDomainObjExitMonitor(driver, vm) < 0)
|
||||
- ret = -1;
|
||||
+ ret = 0;
|
||||
|
||||
endjob:
|
||||
qemuDomainObjEndJob(driver, vm);
|
||||
--
|
||||
2.27.0
|
||||
|
||||
589
qemu-Probe-for-a-few-params-supported-by-migrate-set.patch
Normal file
589
qemu-Probe-for-a-few-params-supported-by-migrate-set.patch
Normal file
@ -0,0 +1,589 @@
|
||||
From aa0f670f9d558c518a5890cbfa7f969e1d2841aa Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Wed, 10 Jun 2020 15:09:00 +0200
|
||||
Subject: [PATCH 1/8] qemu: Probe for a few params supported by
|
||||
migrate-set-parameters
|
||||
|
||||
These parameters were originally set via dedicated commands which are
|
||||
now deprecated. We want to use migrate-set-parameters instead if
|
||||
possible.
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||
---
|
||||
src/qemu/qemu_capabilities.c | 6 ++++++
|
||||
src/qemu/qemu_capabilities.h | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml | 2 ++
|
||||
tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 2 ++
|
||||
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 2 ++
|
||||
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 2 ++
|
||||
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 2 ++
|
||||
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 2 ++
|
||||
tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 2 ++
|
||||
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 2 ++
|
||||
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 2 ++
|
||||
tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 3 +++
|
||||
tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 3 +++
|
||||
38 files changed, 108 insertions(+)
|
||||
|
||||
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
|
||||
index 18bf37b569..fb7726235d 100644
|
||||
--- a/src/qemu/qemu_capabilities.c
|
||||
+++ b/src/qemu/qemu_capabilities.c
|
||||
@@ -571,6 +571,9 @@ VIR_ENUM_IMPL(virQEMUCaps,
|
||||
|
||||
/* 360 */
|
||||
"tpm-tis-device",
|
||||
+ "migration-param.bandwidth",
|
||||
+ "migration-param.downtime",
|
||||
+ "migration-param.xbzrle-cache-size",
|
||||
);
|
||||
|
||||
|
||||
@@ -1451,6 +1454,9 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
|
||||
{ "blockdev-add/arg-type/+nvme", QEMU_CAPS_DRIVE_NVME },
|
||||
{ "query-named-block-nodes/arg-type/flat", QEMU_CAPS_QMP_QUERY_NAMED_BLOCK_NODES_FLAT },
|
||||
{ "blockdev-snapshot/$allow-write-only-overlay", QEMU_CAPS_BLOCKDEV_SNAPSHOT_ALLOW_WRITE_ONLY },
|
||||
+ { "migrate-set-parameters/arg-type/max-bandwidth", QEMU_CAPS_MIGRATION_PARAM_BANDWIDTH },
|
||||
+ { "migrate-set-parameters/arg-type/downtime-limit", QEMU_CAPS_MIGRATION_PARAM_DOWNTIME },
|
||||
+ { "migrate-set-parameters/arg-type/xbzrle-cache-size", QEMU_CAPS_MIGRATION_PARAM_XBZRLE_CACHE_SIZE },
|
||||
};
|
||||
|
||||
typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps;
|
||||
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
|
||||
index 8e16fc0e78..0ac92d77c3 100644
|
||||
--- a/src/qemu/qemu_capabilities.h
|
||||
+++ b/src/qemu/qemu_capabilities.h
|
||||
@@ -552,6 +552,9 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
|
||||
|
||||
/* 360 */
|
||||
QEMU_CAPS_DEVICE_TPM_TIS_DEVICE, /* -device tpm-tis-device */
|
||||
+ QEMU_CAPS_MIGRATION_PARAM_BANDWIDTH, /* max-bandwidth field in migrate-set-parameters */
|
||||
+ QEMU_CAPS_MIGRATION_PARAM_DOWNTIME, /* downtime-limit field in migrate-set-parameters */
|
||||
+ QEMU_CAPS_MIGRATION_PARAM_XBZRLE_CACHE_SIZE, /* xbzrle-cache-size field in migrate-set-parameters */
|
||||
|
||||
QEMU_CAPS_LAST /* this must always be the last item */
|
||||
} virQEMUCapsFlags;
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
|
||||
index f598b4678a..e253df4077 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
|
||||
@@ -140,6 +140,8 @@
|
||||
<flag name='vhost-vsock'/>
|
||||
<flag name='egl-headless'/>
|
||||
<flag name='iothread.poll-max-ns'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
<version>2010000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>61700287</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
|
||||
index b95a9d42ad..8df611353f 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
|
||||
@@ -140,6 +140,8 @@
|
||||
<flag name='egl-headless'/>
|
||||
<flag name='iothread.poll-max-ns'/>
|
||||
<flag name='i8042'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
<version>2010000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900287</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
|
||||
index 04ac872985..27ce348b80 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
|
||||
@@ -107,6 +107,8 @@
|
||||
<flag name='query-cpu-model-baseline'/>
|
||||
<flag name='query-cpu-model-comparison'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
<version>2010000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>39100287</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
|
||||
index 7ebe97b6ab..368985a611 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
|
||||
@@ -183,6 +183,8 @@
|
||||
<flag name='iothread.poll-max-ns'/>
|
||||
<flag name='x86-max-cpu'/>
|
||||
<flag name='i8042'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
<version>2010000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100287</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
|
||||
index 6d36a6e484..c5bcf1c818 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
|
||||
@@ -114,6 +114,9 @@
|
||||
<flag name='query-cpu-model-baseline'/>
|
||||
<flag name='query-cpu-model-comparison'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>2011000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>39100288</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
|
||||
index b8eb3abd40..717ef46f78 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
|
||||
@@ -189,6 +189,9 @@
|
||||
<flag name='iothread.poll-max-ns'/>
|
||||
<flag name='x86-max-cpu'/>
|
||||
<flag name='i8042'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>2011000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100288</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
|
||||
index 64d8d4951c..fbee7661a1 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
|
||||
@@ -156,6 +156,9 @@
|
||||
<flag name='memory-backend-file.align'/>
|
||||
<flag name='arm-max-cpu'/>
|
||||
<flag name='drive-nvme'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>2012000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>61700289</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
|
||||
index 38a3103c4a..31a643f5d1 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
|
||||
@@ -154,6 +154,9 @@
|
||||
<flag name='memory-backend-file.align'/>
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='i8042'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>2011090</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900289</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
|
||||
index 21a168dd3b..d0ea4d780a 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
|
||||
@@ -126,6 +126,9 @@
|
||||
<flag name='query-cpu-model-comparison'/>
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>2012000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>39100289</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
|
||||
index 0c30cc75da..3db7162a34 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
|
||||
@@ -198,6 +198,9 @@
|
||||
<flag name='x86-max-cpu'/>
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='i8042'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>2011090</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100289</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
|
||||
index d204b82030..7becf1bfb6 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
|
||||
@@ -96,6 +96,8 @@
|
||||
<flag name='query-cpu-model-baseline'/>
|
||||
<flag name='query-cpu-model-comparison'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
<version>2007093</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>39100246</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
|
||||
index 489b67f99a..2a0b1f61de 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
|
||||
@@ -160,6 +160,8 @@
|
||||
<flag name='vhost-vsock'/>
|
||||
<flag name='mch'/>
|
||||
<flag name='i8042'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
<version>2008000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100246</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
|
||||
index 3bc6ec8dab..9141e29757 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
|
||||
@@ -132,6 +132,8 @@
|
||||
<flag name='vhost-vsock'/>
|
||||
<flag name='iothread.poll-max-ns'/>
|
||||
<flag name='i8042'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
<version>2009000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900247</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
|
||||
index 9a6d94d37b..bcc7d4bd4e 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
|
||||
@@ -101,6 +101,8 @@
|
||||
<flag name='query-cpu-model-baseline'/>
|
||||
<flag name='query-cpu-model-comparison'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
<version>2009000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>39100247</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
|
||||
index 83fc6cde97..5cd82aa979 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
|
||||
@@ -177,6 +177,8 @@
|
||||
<flag name='iothread.poll-max-ns'/>
|
||||
<flag name='x86-max-cpu'/>
|
||||
<flag name='i8042'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
<version>2009000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100247</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
|
||||
index 9a0b9c05c2..6916da2047 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
|
||||
@@ -156,6 +156,9 @@
|
||||
<flag name='ramfb'/>
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='i8042'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>2012050</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900239</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml b/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
|
||||
index 6814a2f9c6..802b624073 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
|
||||
@@ -96,6 +96,9 @@
|
||||
<flag name='ramfb'/>
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>3000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>0</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
|
||||
index b81f5825cc..a16db0912d 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
|
||||
@@ -96,6 +96,9 @@
|
||||
<flag name='ramfb'/>
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>3000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>0</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
|
||||
index 85cda12076..6992e10237 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
|
||||
@@ -129,6 +129,9 @@
|
||||
<flag name='ramfb'/>
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>3000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>39100239</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
|
||||
index 517e27d815..9fdfc634ff 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
|
||||
@@ -204,6 +204,9 @@
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='i8042'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>3000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100239</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
|
||||
index 6801023208..4039923e5f 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
|
||||
@@ -161,6 +161,9 @@
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='i8042'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>3000091</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900240</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
|
||||
index d901715ffc..02fc245fca 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
|
||||
@@ -207,6 +207,9 @@
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='i8042'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>3000092</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100240</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
|
||||
index 6fd1880ae2..278f2d9135 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
|
||||
@@ -170,6 +170,9 @@
|
||||
<flag name='arm-max-cpu'/>
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>61700240</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
|
||||
index f7e69fcc97..897ca08af0 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
|
||||
@@ -175,6 +175,9 @@
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='i8042'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900240</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml b/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
|
||||
index 6a567239b9..1993d52d42 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
|
||||
@@ -171,6 +171,9 @@
|
||||
<flag name='migration-file-drop-cache'/>
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>0</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
|
||||
index d6686b7c68..348138ab5a 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
|
||||
@@ -171,6 +171,9 @@
|
||||
<flag name='migration-file-drop-cache'/>
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>0</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml
|
||||
index 9dc29832f9..1542ed6c68 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml
|
||||
@@ -137,6 +137,9 @@
|
||||
<flag name='query-cpu-model-comparison'/>
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>39100240</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
|
||||
index ae4004ad3c..9292313570 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
|
||||
@@ -212,6 +212,9 @@
|
||||
<flag name='drive-nvme'/>
|
||||
<flag name='i8042'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100240</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
|
||||
index d9bdeb2516..d07a27b4f8 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
|
||||
@@ -218,6 +218,9 @@
|
||||
<flag name='smp-dies'/>
|
||||
<flag name='i8042'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4001000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100241</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
|
||||
index de16451b8b..fb3d5996c4 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
|
||||
@@ -180,6 +180,9 @@
|
||||
<flag name='virtio-net.failover'/>
|
||||
<flag name='vhost-user-fs'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4001050</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>61700242</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
|
||||
index 99ec98e8cd..daea978d9f 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
|
||||
@@ -180,6 +180,9 @@
|
||||
<flag name='i8042'/>
|
||||
<flag name='rng-builtin'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4001050</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900242</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml
|
||||
index fa3c2ef3e4..d007ae65d6 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml
|
||||
@@ -139,6 +139,9 @@
|
||||
<flag name='rng-builtin'/>
|
||||
<flag name='vhost-user-fs'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4001050</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>39100242</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
|
||||
index c1b73f4ad5..2d5b2ad0f0 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
|
||||
@@ -224,6 +224,9 @@
|
||||
<flag name='virtio-net.failover'/>
|
||||
<flag name='vhost-user-fs'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4002000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100242</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
|
||||
index 53fcd750d9..be0be79fda 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
|
||||
@@ -182,6 +182,9 @@
|
||||
<flag name='cpu.kvm-no-adjvtime'/>
|
||||
<flag name='vhost-user-fs'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4002050</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>61700241</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
|
||||
index 2fb5bb49a9..3ee17a66a4 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
|
||||
@@ -190,6 +190,9 @@
|
||||
<flag name='query-named-block-nodes.flat'/>
|
||||
<flag name='blockdev-snapshot.allow-write-only-overlay'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4002050</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900241</microcodeVersion>
|
||||
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
|
||||
index f43090c9e7..73f9319199 100644
|
||||
--- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
|
||||
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
|
||||
@@ -227,6 +227,9 @@
|
||||
<flag name='query-named-block-nodes.flat'/>
|
||||
<flag name='blockdev-snapshot.allow-write-only-overlay'/>
|
||||
<flag name='storage.werror'/>
|
||||
+ <flag name='migration-param.bandwidth'/>
|
||||
+ <flag name='migration-param.downtime'/>
|
||||
+ <flag name='migration-param.xbzrle-cache-size'/>
|
||||
<version>4002050</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100241</microcodeVersion>
|
||||
--
|
||||
2.27.0
|
||||
|
||||
5669
qemu-Track-numa-mem-supported-machine-attribute.patch
Normal file
5669
qemu-Track-numa-mem-supported-machine-attribute.patch
Normal file
File diff suppressed because it is too large
Load Diff
46
qemuBuildNumaArgStr-Switch-order-of-if-and-for.patch
Normal file
46
qemuBuildNumaArgStr-Switch-order-of-if-and-for.patch
Normal file
@ -0,0 +1,46 @@
|
||||
From 6a0f76d72b231bf0baacf70d715aad387476ac98 Mon Sep 17 00:00:00 2001
|
||||
From: xiaojin Yang <yangxiaojin2@huawei.com>
|
||||
Date: Fri, 11 Mar 2022 16:03:02 +0800
|
||||
Subject: [PATCH 7/8] qemuBuildNumaArgStr: Switch order of if() and for()
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
When building -numa command line there is a for() loop that
|
||||
builds '-numa memdev=' for each guest NUMA node. And also
|
||||
records in a local variable whether any of memory-object-*
|
||||
backends must be used to satisfy desired config. Well, instead of
|
||||
checking in each iteration whether corresponding capabilities are
|
||||
set, we can do swap if() and for() and check only once.
|
||||
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
|
||||
Signed-off-by: Xiaojin Yang <yangxiaojin2@huawei.com>
|
||||
---
|
||||
src/qemu/qemu_command.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
|
||||
index dae6b5a7f9..f9b6d56209 100644
|
||||
--- a/src/qemu/qemu_command.c
|
||||
+++ b/src/qemu/qemu_command.c
|
||||
@@ -7419,11 +7419,11 @@ qemuBuildNumaArgStr(virQEMUDriverConfigPtr cfg,
|
||||
|
||||
/* using of -numa memdev= cannot be combined with -numa mem=, thus we
|
||||
* need to check which approach to use */
|
||||
- for (i = 0; i < ncells; i++) {
|
||||
- if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_RAM) ||
|
||||
- virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE) ||
|
||||
- virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_MEMFD)) {
|
||||
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_RAM) ||
|
||||
+ virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE) ||
|
||||
+ virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_MEMFD)) {
|
||||
|
||||
+ for (i = 0; i < ncells; i++) {
|
||||
if ((rc = qemuBuildMemoryCellBackendStr(def, cfg, i, priv,
|
||||
&nodeBackends[i])) < 0)
|
||||
goto cleanup;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
57
qemuBuildNumaArgStr-Use-modern-numa-memdev-if-old-nu.patch
Normal file
57
qemuBuildNumaArgStr-Use-modern-numa-memdev-if-old-nu.patch
Normal file
@ -0,0 +1,57 @@
|
||||
From a6fccda9f1637a3464e812a16c2cd1f12d5b213d Mon Sep 17 00:00:00 2001
|
||||
From: xiaojin Yang <yangxiaojin2@huawei.com>
|
||||
Date: Fri, 11 Mar 2022 16:04:38 +0800
|
||||
Subject: [PATCH 8/8] qemuBuildNumaArgStr: Use modern -numa memdev= if old
|
||||
-numa mem= is unsupported
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
In previous commit we started tracking whether QEMU supports
|
||||
'-numa mem='. This is tied to the machine type because migration
|
||||
from '-numa mem=' to '-numa memdev' is impossible (or vice
|
||||
versa). But since it's tied to a machine type (where migration
|
||||
from one to another is also unsupported) we can allow QEMU to get
|
||||
rid of the deprecated command line.
|
||||
|
||||
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1783355
|
||||
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
|
||||
Signed-off-by: Xiaojin Yang <yangxiaojin2@huawei.com>
|
||||
---
|
||||
src/qemu/qemu_command.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
|
||||
index f9b6d56209..f8331a7455 100644
|
||||
--- a/src/qemu/qemu_command.c
|
||||
+++ b/src/qemu/qemu_command.c
|
||||
@@ -7414,6 +7414,11 @@ qemuBuildNumaArgStr(virQEMUDriverConfigPtr cfg,
|
||||
if (!virDomainNumatuneNodesetIsAvailable(def->numa, priv->autoNodeset))
|
||||
goto cleanup;
|
||||
|
||||
+ if (!virQEMUCapsGetMachineNumaMemSupported(qemuCaps,
|
||||
+ def->virtType,
|
||||
+ def->os.machine))
|
||||
+ needBackend = true;
|
||||
+
|
||||
if (VIR_ALLOC_N(nodeBackends, ncells) < 0)
|
||||
goto cleanup;
|
||||
|
||||
@@ -7431,6 +7436,11 @@ qemuBuildNumaArgStr(virQEMUDriverConfigPtr cfg,
|
||||
if (rc == 0)
|
||||
needBackend = true;
|
||||
}
|
||||
+ } else if (needBackend) {
|
||||
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
+ _("NUMA without specified memory backing is not "
|
||||
+ "supported with this QEMU binary"));
|
||||
+ goto cleanup;
|
||||
}
|
||||
|
||||
if (!needBackend &&
|
||||
--
|
||||
2.27.0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user