Default issue template for libvirt.git
by Peter Krempa
Hi,
we've recently added templates for issues for the libvirt repo [1].
Unfortunately gitlab made a weird design decision, where the default
template is not actually picked from the templates comitted to the
repository, but needs to be added in the repo config in the web-ui into
a separate textarea. This unfortunately creates a gap where the
repo-comitted stuff can actually diverge from the default.
I've asked Pavel to copy the 'bug.md' template into the "default" one so
even if users don't select any they will see the bug one by default.
My reasoning despite being vulnerable to diverging from the in-repo
state is that we've added templates so that we prevent too-little
information being filled. Having to select a template requires
additional steps and also asks for more than the reporter might have
reported normally, so it may be ofputting for them to select it
manually. Thus we rather want to force a default.
Alternatively we can add another comment on top asking them to switch to
a different template for enhancement such as:
<!-- If you are requesting an enhancement, use the appropriate template -->
Peter
[1] https://www.redhat.com/archives/libvir-list/2020-December/msg00003.html
4 years
[PATCH] spec: keep existing nwfilters uuid on update
by Nikolay Shirokovskiy
Now on every nwfilter config package update we overwrite existing filters
entirely. It is desired to bring new version of filters on update but we'd
better keep their uuids I guess.
Actually patch primarily address noise in logs on update. If both libvirtd and
firewalld are running and libvirt is using firewalld backend then on firewalld
restart we reload all nwfilters. So if node is updated and we have update for
both firewalld and libvirt then in the process of update first new nwfilters of
libvirt package are copied to /etc/libvirt/nwfilters then firewalld is
restarted and then libvirtd is restarted. In this process firewalld restart
cause log messages like [1]. The issue is libvirt brings nwfilters without
<uuid> in definition and on handling firewalld restart libvirt generates
missing uuid and then fail to update filter definition because it is already
present in filters list with different uuid.
[1] virNWFilterObjListAssignDef:337 : operation failed: filter 'no-ip-spoofing'
already exists with uuid c302edf9-8a48-40d8-a652-f70b2c563ad1
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy(a)virtuozzo.com>
---
libvirt.spec.in | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 2a4324b..6a31440 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1438,7 +1438,18 @@ fi
rm -rf %{_localstatedir}/lib/rpm-state/libvirt || :
%post daemon-config-nwfilter
-cp %{_datadir}/libvirt/nwfilter/*.xml %{_sysconfdir}/libvirt/nwfilter/
+# keep existing filters uuid on update
+for dfile in %{_datadir}/libvirt/nwfilter/*.xml; do
+ sfile=%{_sysconfdir}/libvirt/nwfilter/`basename $dfile`
+ if [ -f "$sfile" ]; then
+ uuidstr=`sed -n '/<uuid>.*<\/uuid>/p' "$sfile"`
+ if [ ! -z "$uuidstr" ]; then
+ sed -e "s,<filter .*>,&\n$uuidstr," "$dfile" > "$sfile"
+ continue
+ fi
+ fi
+ cp "$dfile" "$sfile"
+done
# libvirt saves these files with mode 600
chmod 600 %{_sysconfdir}/libvirt/nwfilter/*.xml
# Make sure libvirt picks up the new nwfilter defininitons
--
1.8.3.1
4 years
[PATCH v2 00/10] qemu: add option to process offloaded legacy blockjob event ealier
by Nikolay Shirokovskiy
This is successor to [1] but I changed the subject as in the review the patch
'qemu: sync backing chain update in virDomainGetBlockJobInfo' was not
considered good one from design POV. However I think the basic patch is helpful
to address similar issues. Look at [*] for example, there it allows to sync
backing chains during query block stats.
In discussion of [1] I stated that first patch will also allow to get rid of
stale block job events on reconnection to qemu. But this will require
additional work actually so with this patch series stale events are still
present. And in the discussion it was also mentioned by Peter that stale events
are not harmful for legacy blockjobs code. I also removed previous attempts to
eliminate some of stale events.
I still keep patch for virDomainGetBlockJobInfo. May be in comparsion to [*]
the approach the patch takes will look not so bad :)
[1] First version of the patch series
https://www.redhat.com/archives/libvir-list/2020-October/msg01133.html
Nikolay Shirokovskiy (10):
qemu: add option to process offloaded legacy blockjob event ealier
qemu: reconnect: precreate legacy blockjobs
qemu: remove extra block job finalize on reconnect
qemu: remove stale cleanup in qemuProcessRefreshLegacyBlockjob
qemu: add note for outdated legacy block job events
qemu: use autoptr in qemuProcessRefreshLegacyBlockjobs
qemu: refresh backing chain after block job reconnection
qemu: move code that depends on backing chain appropriately
qemu: fix race on legacy block completion and quering stats [*]
qemu: sync backing chain update in virDomainGetBlockJobInfo
src/qemu/qemu_blockjob.c | 2 +-
src/qemu/qemu_blockjob.h | 7 +++
src/qemu/qemu_driver.c | 50 +++++++++++-----
src/qemu/qemu_process.c | 149 ++++++++++++++++++++++++++++-------------------
4 files changed, 132 insertions(+), 76 deletions(-)
--
1.8.3.1
4 years
[PATCH v3 0/5] add post parse pSeries mem align, when ABI_UPDATE
by Daniel Henrique Barboza
Hi,
This is the v3 of
https://www.redhat.com/archives/libvir-list/2020-November/msg01057.html
Some patches were already pushed. This series contains the remaining
ones that got feedback from Andrea.
Michal, I added your Reviewed-by tag in all my patches because I
considered that the changes made weren't worth making you review them
again.
Changes in v3:
- former patches 1, 2 and 4: already pushed.
- patches 1 and 2: these are Andrea's patches from [1]. The other
patches were rebased upon them. They're being sent in this series
because they're not pushed upstream in the moment of this posting.
- patch 3: reverted an extra commit that was made deprecated
after reverting the post parse code, as suggested by Andrea.
- patch 4 and 5 (former 5 and 6): these were taken from Andrea's local
branch in [2], with the test changes suggested by Andrea.
[1] https://www.redhat.com/archives/libvir-list/2020-December/msg00244.html
[2] https://gitlab.com/abologna/libvirt/-/tree/ppc64-memalign
Andrea Bolognani (2):
tests: Sync some ppc64 tests
tests: Simplify some ppc64 tests
Daniel Henrique Barboza (3):
domain_conf.c: revert auto-alignment of pSeries NVDIMM in post parse
qemu_domain.c: post parse pSeries NVDIMM align with PARSE_ABI_UPDATE
qemu_domain.c: align all pSeries mem modules when PARSE_ABI_UPDATE
src/conf/domain_conf.c | 59 +-------------
src/conf/domain_conf.h | 3 -
src/libvirt_private.syms | 1 -
src/qemu/qemu_domain.c | 80 ++++++++++++++++++-
...mory-hotplug-nvdimm-ppc64-abi-update.args} | 20 ++---
...memory-hotplug-nvdimm-ppc64-abi-update.xml | 1 +
.../memory-hotplug-nvdimm-ppc64.args | 6 +-
.../memory-hotplug-nvdimm-ppc64.xml | 8 +-
...emory-hotplug-ppc64-nonuma-abi-update.args | 29 +++++++
...memory-hotplug-ppc64-nonuma-abi-update.xml | 1 +
.../memory-hotplug-ppc64-nonuma.args | 7 +-
.../memory-hotplug-ppc64-nonuma.xml | 14 +++-
tests/qemuxml2argvtest.c | 18 ++++-
...memory-hotplug-nvdimm-ppc64-abi-update.xml | 46 +++++++++++
.../memory-hotplug-nvdimm-ppc64.xml | 10 +--
...memory-hotplug-ppc64-nonuma-abi-update.xml | 38 +++++++++
.../memory-hotplug-ppc64-nonuma.xml | 1 +
tests/qemuxml2xmltest.c | 19 +++++
18 files changed, 254 insertions(+), 107 deletions(-)
rename tests/qemuxml2argvdata/{memory-hotplug-nvdimm-ppc64.ppc64-latest.args => memory-hotplug-nvdimm-ppc64-abi-update.args} (62%)
create mode 120000 tests/qemuxml2argvdata/memory-hotplug-nvdimm-ppc64-abi-update.xml
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-ppc64-nonuma-abi-update.args
create mode 120000 tests/qemuxml2argvdata/memory-hotplug-ppc64-nonuma-abi-update.xml
create mode 100644 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64-abi-update.xml
create mode 100644 tests/qemuxml2xmloutdata/memory-hotplug-ppc64-nonuma-abi-update.xml
create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-ppc64-nonuma.xml
--
2.26.2
4 years
[PATCH v2 RESEND] lxc: Cleanup after failed startup
by Michal Privoznik
If starting an container fails, the virLXCProcessStop() is
called. But since vm->def->id is not set until libvirt_lxc is
spawned (the domain's ID is PID of that process),
virLXCProcessStop() returns early as virDomainObjIsActive()
returns false. But doing so leaves behind resources reserved for
the containers during the startup process. Most notably, hostdevs
are not re-attached to the host, the domain's transient XML is
not removed, etc.
To resolve this, virLXCProcessCleanup() is called in this case.
However, it is modified to accept @flags which allows caller to
run only specific cleanups (depending how far in container
creation the failure occurred). There is plenty of cleanups which
don't need this guard because either they detect a NULL pointer
or try to release an unique resource.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
This is just a resend of this patch:
https://www.redhat.com/archives/libvir-list/2020-November/msg00525.html
src/lxc/lxc_process.c | 52 ++++++++++++++++++++++++++++++++++---------
1 file changed, 41 insertions(+), 11 deletions(-)
diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
index 7e07f49f9a..0f818e2ee0 100644
--- a/src/lxc/lxc_process.c
+++ b/src/lxc/lxc_process.c
@@ -145,18 +145,27 @@ lxcProcessRemoveDomainStatus(virLXCDriverConfigPtr cfg,
}
+typedef enum {
+ VIR_LXC_PROCESS_CLEANUP_RELEASE_SECLABEL = (1 << 0),
+ VIR_LXC_PROCESS_CLEANUP_RESTORE_SECLABEL = (1 << 1),
+ VIR_LXC_PROCESS_CLEANUP_REMOVE_TRANSIENT = (1 << 2),
+} virLXCProcessCleanupFlags;
+
/**
* virLXCProcessCleanup:
* @driver: pointer to driver structure
* @vm: pointer to VM to clean up
* @reason: reason for switching the VM to shutoff state
+ * @flags: allows to run selective cleanups only
*
- * Cleanout resources associated with the now dead VM
- *
+ * Clean out resources associated with the now dead VM.
+ * If @flags is zero then whole cleanup process is done,
+ * otherwise only selected sections are run.
*/
static void virLXCProcessCleanup(virLXCDriverPtr driver,
virDomainObjPtr vm,
- virDomainShutoffReason reason)
+ virDomainShutoffReason reason,
+ unsigned int flags)
{
size_t i;
virLXCDomainObjPrivatePtr priv = vm->privateData;
@@ -164,8 +173,11 @@ static void virLXCProcessCleanup(virLXCDriverPtr driver,
virLXCDriverConfigPtr cfg = virLXCDriverGetConfig(driver);
virConnectPtr conn = NULL;
- VIR_DEBUG("Cleanup VM name=%s pid=%d reason=%d",
- vm->def->name, (int)vm->pid, (int)reason);
+ VIR_DEBUG("Cleanup VM name=%s pid=%d reason=%d flags=0x%x",
+ vm->def->name, (int)vm->pid, (int)reason, flags);
+
+ if (flags == 0)
+ flags = ~0;
/* now that we know it's stopped call the hook if present */
if (virHookPresent(VIR_HOOK_DRIVER_LXC)) {
@@ -177,9 +189,15 @@ static void virLXCProcessCleanup(virLXCDriverPtr driver,
NULL, xml, NULL);
}
- virSecurityManagerRestoreAllLabel(driver->securityManager,
- vm->def, false, false);
- virSecurityManagerReleaseLabel(driver->securityManager, vm->def);
+ if (flags & VIR_LXC_PROCESS_CLEANUP_RESTORE_SECLABEL) {
+ virSecurityManagerRestoreAllLabel(driver->securityManager,
+ vm->def, false, false);
+ }
+
+ if (flags & VIR_LXC_PROCESS_CLEANUP_RELEASE_SECLABEL) {
+ virSecurityManagerReleaseLabel(driver->securityManager, vm->def);
+ }
+
/* Clear out dynamically assigned labels */
if (vm->def->nseclabels &&
vm->def->seclabels[0]->type == VIR_DOMAIN_SECLABEL_DYNAMIC) {
@@ -258,7 +276,9 @@ static void virLXCProcessCleanup(virLXCDriverPtr driver,
NULL, xml, NULL);
}
- virDomainObjRemoveTransientDef(vm);
+ if (flags & VIR_LXC_PROCESS_CLEANUP_REMOVE_TRANSIENT)
+ virDomainObjRemoveTransientDef(vm);
+
virObjectUnref(cfg);
virObjectUnref(conn);
}
@@ -904,7 +924,7 @@ int virLXCProcessStop(virLXCDriverPtr driver,
}
cleanup:
- virLXCProcessCleanup(driver, vm, reason);
+ virLXCProcessCleanup(driver, vm, reason, 0);
return 0;
}
@@ -1198,6 +1218,7 @@ int virLXCProcessStart(virConnectPtr conn,
g_autoptr(virCgroup) selfcgroup = NULL;
int status;
g_autofree char *pidfile = NULL;
+ unsigned int stopFlags = 0;
if (virCgroupNewSelf(&selfcgroup) < 0)
return -1;
@@ -1265,6 +1286,7 @@ int virLXCProcessStart(virConnectPtr conn,
VIR_DEBUG("Setting current domain def as transient");
if (virDomainObjSetDefTransient(driver->xmlopt, vm, NULL) < 0)
goto cleanup;
+ stopFlags |= VIR_LXC_PROCESS_CLEANUP_REMOVE_TRANSIENT;
/* Run an early hook to set-up missing devices */
if (virHookPresent(VIR_HOOK_DRIVER_LXC)) {
@@ -1312,11 +1334,13 @@ int virLXCProcessStart(virConnectPtr conn,
goto cleanup;
}
virDomainAuditSecurityLabel(vm, true);
+ stopFlags |= VIR_LXC_PROCESS_CLEANUP_RELEASE_SECLABEL;
VIR_DEBUG("Setting domain security labels");
if (virSecurityManagerSetAllLabel(driver->securityManager,
vm->def, NULL, false, false) < 0)
goto cleanup;
+ stopFlags |= VIR_LXC_PROCESS_CLEANUP_RESTORE_SECLABEL;
VIR_DEBUG("Setting up consoles");
for (i = 0; i < vm->def->nconsoles; i++) {
@@ -1525,7 +1549,13 @@ int virLXCProcessStart(virConnectPtr conn,
}
if (rc != 0) {
virErrorPreserveLast(&err);
- virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED);
+ if (virDomainObjIsActive(vm)) {
+ virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED);
+ } else {
+ /* virLXCProcessStop() is NOP if the container is not active.
+ * If there was a failure whilst creating it, cleanup manually. */
+ virLXCProcessCleanup(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED, stopFlags);
+ }
}
virCommandFree(cmd);
for (i = 0; i < nttyFDs; i++)
--
2.26.2
4 years
[PATCH] qemu: Drop @qemuCaps argument from qemuDomainDefValidateMemoryHotplug()
by Michal Privoznik
After previous cleanup the @qemuCaps argument in
qemuDomainDefValidateMemoryHotplug() is unused and thus doesn't
need to be passed.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_domain.c | 2 --
src/qemu/qemu_domain.h | 1 -
src/qemu/qemu_hotplug.c | 2 +-
src/qemu/qemu_validate.c | 2 +-
4 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index e705e8d8d5..5b58ccbf0e 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -8532,7 +8532,6 @@ qemuDomainDefValidateMemoryHotplugDevice(const virDomainMemoryDef *mem,
/**
* qemuDomainDefValidateMemoryHotplug:
* @def: domain definition
- * @qemuCaps: qemu capabilities object
* @mem: definition of memory device that is to be added to @def with hotplug,
* NULL in case of regular VM startup
*
@@ -8544,7 +8543,6 @@ qemuDomainDefValidateMemoryHotplugDevice(const virDomainMemoryDef *mem,
*/
int
qemuDomainDefValidateMemoryHotplug(const virDomainDef *def,
- virQEMUCapsPtr qemuCaps G_GNUC_UNUSED,
const virDomainMemoryDef *mem)
{
unsigned int nmems = def->nmems;
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index 010bae285d..9e870ff1e2 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -795,7 +795,6 @@ int qemuDomainAdjustMaxMemLockHostdev(virDomainObjPtr vm,
virDomainHostdevDefPtr hostdev);
int qemuDomainDefValidateMemoryHotplug(const virDomainDef *def,
- virQEMUCapsPtr qemuCaps,
const virDomainMemoryDef *mem);
bool qemuDomainSupportsNewVcpuHotplug(virDomainObjPtr vm);
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 29a30c6812..9b93f256e8 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -2399,7 +2399,7 @@ qemuDomainAttachMemory(virQEMUDriverPtr driver,
if (qemuDomainMemoryDeviceAlignSize(vm->def, mem) < 0)
goto cleanup;
- if (qemuDomainDefValidateMemoryHotplug(vm->def, priv->qemuCaps, mem) < 0)
+ if (qemuDomainDefValidateMemoryHotplug(vm->def, mem) < 0)
goto cleanup;
if (qemuDomainAssignMemoryDeviceSlot(vm->def, mem) < 0)
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index 8ceea022d7..52d15defed 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -1156,7 +1156,7 @@ qemuValidateDomainDef(const virDomainDef *def,
if (qemuValidateDomainDefCpu(driver, def, qemuCaps) < 0)
return -1;
- if (qemuDomainDefValidateMemoryHotplug(def, qemuCaps, NULL) < 0)
+ if (qemuDomainDefValidateMemoryHotplug(def, NULL) < 0)
return -1;
if (qemuValidateDomainDefClockTimers(def, qemuCaps) < 0)
--
2.26.2
4 years
[PATCH] apparmor: Drop needless check in AppArmorSetMemoryLabel()
by Michal Privoznik
The AppArmorSetMemoryLabel() is a callback that is called from
qemuSecuritySetMemoryLabel() which never passes NULL as @mem.
Therefore, there is no need to check whether @mem is NULL. Also,
no other driver does that and just dereference it immediately.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/security/security_apparmor.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/security/security_apparmor.c b/src/security/security_apparmor.c
index eed66e460f..1b035cce2f 100644
--- a/src/security/security_apparmor.c
+++ b/src/security/security_apparmor.c
@@ -681,9 +681,6 @@ AppArmorSetMemoryLabel(virSecurityManagerPtr mgr,
virDomainDefPtr def,
virDomainMemoryDefPtr mem)
{
- if (mem == NULL)
- return 0;
-
switch (mem->model) {
case VIR_DOMAIN_MEMORY_MODEL_NVDIMM:
if (!virFileExists(mem->nvdimmPath)) {
--
2.26.2
4 years
[PATCH v2 0/6] add post parse pSeries mem align, when ABI_UPDATE
by Daniel Henrique Barboza
Hi,
This is a follow up of [1] after really comprehending what I
was messing with and what I couldn't do. This version has a
shorter scope, only pSeries guests are being taken care of.
I can send a follow up to handle x86 as well depending on the
popularity of this work.
Patches 1 and 2 moves the existing qemuDomainAlignMemorySizes()
from qemu_command.c to qemuProcessPrepareDomain(). They are
not related/tied to everything else done here and can be pushed
independently if needed.
Patches 3, 4 and 5 are reworking the existing code to be consistent
to our prerrogative of not aligning memory when migrating or
'snapshotting'. No significant behavioral change is done.
Patch 6 is where the bacon is. For new ppc64 guests, without ABI
breakage, the mem alignment that are overshooting the intended
initial memory is fixed.
Test cases were added to help me diagnose and assert what I was
changing and what would remain untouched.
[1] https://www.redhat.com/archives/libvir-list/2020-November/msg00544.html
Daniel Henrique Barboza (6):
qemu_process.c: check migrateURI when setting
VIR_QEMU_PROCESS_START_NEW
qemu: move memory size align to qemuProcessPrepareDomain()
Revert "domain_conf.c: auto-align pSeries NVDIMM in
virDomainMemoryDefPostParse()"
qemuxml2xmltest.c: honor ARG_PARSEFLAGS
qemu_domain.c: post parse pSeries NVDIMM align with PARSE_ABI_UPDATE
qemu_domain.c: align all pSeries mem modules when PARSE_ABI_UPDATE
src/conf/domain_conf.c | 23 +--------
src/qemu/qemu_command.c | 3 --
src/qemu/qemu_domain.c | 39 ++++++++++++++-
src/qemu/qemu_process.c | 11 +++-
...memory-hotplug-nvdimm-ppc64-abi-update.xml | 50 +++++++++++++++++++
...emory-hotplug-ppc64-nonuma-abi-update.args | 34 +++++++++++++
...memory-hotplug-ppc64-nonuma-abi-update.xml | 32 ++++++++++++
tests/qemuxml2argvtest.c | 7 +++
...memory-hotplug-nvdimm-ppc64-abi-update.xml | 50 +++++++++++++++++++
.../memory-hotplug-nvdimm-ppc64.xml | 2 +-
...memory-hotplug-ppc64-nonuma-abi-update.xml | 45 +++++++++++++++++
tests/qemuxml2xmltest.c | 20 +++++++-
12 files changed, 286 insertions(+), 30 deletions(-)
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-ppc64-abi-update.xml
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-ppc64-nonuma-abi-update.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-ppc64-nonuma-abi-update.xml
create mode 100644 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64-abi-update.xml
create mode 100644 tests/qemuxml2xmloutdata/memory-hotplug-ppc64-nonuma-abi-update.xml
--
2.26.2
4 years
[PATCH 0/5] qemu: checkpoint: Don't require <domain> when redefining a checkpoint
by Peter Krempa
I've got a request from the oVirt devs integrating incremental backup
whether there's a simpler way to redefine checkpoints since they need to
support cases when the VM isn't running. Since we don't really use the
def we can stop requiring it.
Peter Krempa (5):
virDomainCheckpointDefParse: Don't extract unused domain type
virDomainCheckpointDefParse: Use 'unsigned int' for flags
virDomainCheckpointRedefineCommit: Don't check ABI of definition in
checkpoint
conf: checkpoint: Prepare internals for missing domain definition
conf: checkpoint: Don't require <domain> when redefining checkpoints
docs/formatcheckpoint.rst | 12 +++--
src/conf/checkpoint_conf.c | 60 ++++++++++---------------
src/conf/checkpoint_conf.h | 3 +-
src/qemu/qemu_checkpoint.c | 7 ++-
src/test/test_driver.c | 2 +-
tests/qemudomaincheckpointxml2xmltest.c | 5 ---
6 files changed, 37 insertions(+), 52 deletions(-)
--
2.28.0
4 years
[libvirt PATCH] cpu_map: Fix Icelake Server model number
by Tim Wiederhake
See arch/x86/include/asm/intel-family.h in the Kernel:
#define INTEL_FAM6_ICELAKE_X 0x6A
Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
src/cpu_map/x86_Icelake-Server-noTSX.xml | 2 +-
src/cpu_map/x86_Icelake-Server.xml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/cpu_map/x86_Icelake-Server-noTSX.xml b/src/cpu_map/x86_Icelake-Server-noTSX.xml
index 2fd6906406..34a0f7c18c 100644
--- a/src/cpu_map/x86_Icelake-Server-noTSX.xml
+++ b/src/cpu_map/x86_Icelake-Server-noTSX.xml
@@ -1,7 +1,7 @@
<cpus>
<model name='Icelake-Server-noTSX'>
<decode host='on' guest='off'/>
- <signature family='6' model='134'/> <!-- 080660 -->
+ <signature family='6' model='106'/> <!-- 0606A5 -->
<vendor name='Intel'/>
<feature name='3dnowprefetch'/>
<feature name='abm'/>
diff --git a/src/cpu_map/x86_Icelake-Server.xml b/src/cpu_map/x86_Icelake-Server.xml
index 367ade7240..1ee4ea9cd4 100644
--- a/src/cpu_map/x86_Icelake-Server.xml
+++ b/src/cpu_map/x86_Icelake-Server.xml
@@ -1,7 +1,7 @@
<cpus>
<model name='Icelake-Server'>
<decode host='on' guest='on'/>
- <signature family='6' model='134'/> <!-- 080660 -->
+ <signature family='6' model='106'/> <!-- 0606A5 -->
<vendor name='Intel'/>
<feature name='3dnowprefetch'/>
<feature name='abm'/>
--
2.26.2
4 years