bugfix: cherry-pick some bugfix patches from open source community
bugfix patches list: d677de remote: fix driver name check for libxl driver 075641 systemd: start libvirtd after firewalld iptables services 06fc99 qemuDomainCleanupRun: Actually run cleanup callbacks in reverse order 01626c virDevMapperGetTargetsImpl: quit early if device is not a devmapper target 006782 qemu: only stop external devices after the domain 42a415 qemuDomainStorageSourcePrivateDispose: Free httpcookie cc8c29 Don't require secdrivers to implement .domainMoveImageMetadata 0230e3 qemuProcessStop: Use XATTRs to restore seclabels on disks a domain is mirroring into 8fd274 qemuProcessStop: Reattach NVMe disks a domain is mirroring into 55029d security: don't fail if built without attr support a5a297 qemu: Skip pre creation of NVMe disks 2a372 Fix some wrong usage of ATTRIBUTE_NONNULL e728ff conf: Increase cpuset length limit for CPU pinning 8f58a4 virQEMUDriverConfigNew: Add slash to cfg defaultTLSx509certdir for non-embeded driver 1b22dd qemuDomainSetNumaParamsLive: set nodeset for root cgroup bdb8f2 qemu: do not add model when actual iface type is hostdev Signed-off-by: Jin Yan <jinyan12@huawei.com>
This commit is contained in:
parent
c6f0aa1103
commit
676ca2f0f6
@ -0,0 +1,42 @@
|
|||||||
|
From 19845de491a3102df4256a3457c7d5669bccda63 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Date: Mon, 18 May 2020 10:07:30 +0200
|
||||||
|
Subject: [PATCH] Don't require secdrivers to implement
|
||||||
|
.domainMoveImageMetadata
|
||||||
|
|
||||||
|
The AppArmor secdriver does not use labels to grant access to
|
||||||
|
resources. Therefore, it doesn't use XATTRs and hence it lacks
|
||||||
|
implementation of .domainMoveImageMetadata callback. This leads
|
||||||
|
to a harmless but needless error message appearing in the logs:
|
||||||
|
|
||||||
|
virSecurityManagerMoveImageMetadata:476 : this function is not
|
||||||
|
supported by the connection driver: virSecurityManagerMoveImageMetadata
|
||||||
|
|
||||||
|
Closes: https://gitlab.com/libvirt/libvirt/-/issues/25
|
||||||
|
|
||||||
|
cherry-pick from commit: cc8c297e473afd55e5d8e35e18345d8df176059d
|
||||||
|
|
||||||
|
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Reviewed-by: Erik Skultety <eskultet@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/security/security_manager.c | 3 +--
|
||||||
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/security/security_manager.c b/src/security/security_manager.c
|
||||||
|
index fe03274..1445291 100644
|
||||||
|
--- a/src/security/security_manager.c
|
||||||
|
+++ b/src/security/security_manager.c
|
||||||
|
@@ -473,8 +473,7 @@ virSecurityManagerMoveImageMetadata(virSecurityManagerPtr mgr,
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
- virReportUnsupportedError();
|
||||||
|
- return -1;
|
||||||
|
+ return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
56
libvirt-Fix-some-wrong-usage-of-ATTRIBUTE_NONNULL.patch
Normal file
56
libvirt-Fix-some-wrong-usage-of-ATTRIBUTE_NONNULL.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
From 42e4b74e1bbd08aad3afa46d741e46c40a8af73d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bihong Yu <yubihong@huawei.com>
|
||||||
|
Date: Sat, 6 Jun 2020 18:52:35 +0800
|
||||||
|
Subject: [PATCH] Fix some wrong usage of ATTRIBUTE_NONNULL()
|
||||||
|
|
||||||
|
The virStateInitialize() function has ATTRIBUTE_NONNULL()
|
||||||
|
referring to @root argument (incorrectly anyway) but in
|
||||||
|
daemonRunStateInit() NULL is passed in anyway.
|
||||||
|
|
||||||
|
Then there is virCommandAddArgPair() which also has
|
||||||
|
ATTRIBUTE_NONNULL() for one of its arguments and then checks the
|
||||||
|
argument for being NULL anyways.
|
||||||
|
|
||||||
|
cherry-pick from commit: 2a372a5ad5fab3bf26fb9bea019d38fa04ba8b34
|
||||||
|
|
||||||
|
Signed-off-by:Bihong Yu <yubihong@huawei.com>
|
||||||
|
Reviewed-by:Chuan Zheng <zhengchuan@huawei.com>
|
||||||
|
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/libvirt_internal.h | 3 +--
|
||||||
|
src/util/vircommand.h | 3 +--
|
||||||
|
2 files changed, 2 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/libvirt_internal.h b/src/libvirt_internal.h
|
||||||
|
index 00ef7aa..72c6127 100644
|
||||||
|
--- a/src/libvirt_internal.h
|
||||||
|
+++ b/src/libvirt_internal.h
|
||||||
|
@@ -33,8 +33,7 @@ int virStateInitialize(bool privileged,
|
||||||
|
bool mandatory,
|
||||||
|
const char *root,
|
||||||
|
virStateInhibitCallback inhibit,
|
||||||
|
- void *opaque)
|
||||||
|
- ATTRIBUTE_NONNULL(2);
|
||||||
|
+ void *opaque);
|
||||||
|
int virStateCleanup(void);
|
||||||
|
int virStateReload(void);
|
||||||
|
int virStateStop(void);
|
||||||
|
diff --git a/src/util/vircommand.h b/src/util/vircommand.h
|
||||||
|
index 9086f9a..4e6cb0a 100644
|
||||||
|
--- a/src/util/vircommand.h
|
||||||
|
+++ b/src/util/vircommand.h
|
||||||
|
@@ -128,8 +128,7 @@ void virCommandAddArgFormat(virCommandPtr cmd,
|
||||||
|
|
||||||
|
void virCommandAddArgPair(virCommandPtr cmd,
|
||||||
|
const char *name,
|
||||||
|
- const char *val)
|
||||||
|
- ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
|
||||||
|
+ const char *val);
|
||||||
|
|
||||||
|
void virCommandAddArgSet(virCommandPtr cmd,
|
||||||
|
const char *const*vals) ATTRIBUTE_NONNULL(2);
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
From fc8c41dbb52eb9ce3ee36680ecb53a41f4146610 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jiri Denemark <jdenemar@redhat.com>
|
||||||
|
Date: Thu, 11 Jun 2020 13:53:27 +0200
|
||||||
|
Subject: [PATCH] conf: Increase cpuset length limit for CPU pinning
|
||||||
|
|
||||||
|
Domains are now allowed to be pinned to host CPUs with IDs up to 16383.
|
||||||
|
The new limit is as arbitrary as the old one. It's just bigger.
|
||||||
|
|
||||||
|
cherry-pick from commit: e728ffba5119cfb1488aa7363fef596940449f50
|
||||||
|
|
||||||
|
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||||
|
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/conf/domain_conf.h | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
|
||||||
|
index a40773a..16e6253 100644
|
||||||
|
--- a/src/conf/domain_conf.h
|
||||||
|
+++ b/src/conf/domain_conf.h
|
||||||
|
@@ -2241,7 +2241,7 @@ struct _virDomainHugePage {
|
||||||
|
unsigned long long size; /* hugepage size in KiB */
|
||||||
|
};
|
||||||
|
|
||||||
|
-#define VIR_DOMAIN_CPUMASK_LEN 1024
|
||||||
|
+#define VIR_DOMAIN_CPUMASK_LEN 16384
|
||||||
|
|
||||||
|
struct _virDomainIOThreadIDDef {
|
||||||
|
bool autofill;
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
53
libvirt-qemu-Skip-pre-creation-of-NVMe-disks.patch
Normal file
53
libvirt-qemu-Skip-pre-creation-of-NVMe-disks.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
From a7f7d8f7513af2b98d01259480f63167cf44cced Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Date: Tue, 26 May 2020 16:26:25 +0200
|
||||||
|
Subject: [PATCH] qemu: Skip pre-creation of NVMe disks
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upon migration with disks, libvirt determines if each disk exists
|
||||||
|
on the destination and tries to pre-create missing ones. Well,
|
||||||
|
NVMe disks can't be pre-created, but they can be checked for
|
||||||
|
presence.
|
||||||
|
|
||||||
|
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1823639
|
||||||
|
|
||||||
|
cherry-pick from commit: a5a297f387fee9e9aa4cbc2df6788c330fd33ad1
|
||||||
|
|
||||||
|
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/qemu/qemu_migration.c | 8 +++++++-
|
||||||
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
|
||||||
|
index 65b47ec..3f4627b 100644
|
||||||
|
--- a/src/qemu/qemu_migration.c
|
||||||
|
+++ b/src/qemu/qemu_migration.c
|
||||||
|
@@ -315,6 +315,7 @@ qemuMigrationDstPrecreateStorage(virDomainObjPtr vm,
|
||||||
|
for (i = 0; i < nbd->ndisks; i++) {
|
||||||
|
virDomainDiskDefPtr disk;
|
||||||
|
const char *diskSrcPath;
|
||||||
|
+ g_autofree char *nvmePath = NULL;
|
||||||
|
|
||||||
|
VIR_DEBUG("Looking up disk target '%s' (capacity=%llu)",
|
||||||
|
nbd->disks[i].target, nbd->disks[i].capacity);
|
||||||
|
@@ -326,7 +327,12 @@ qemuMigrationDstPrecreateStorage(virDomainObjPtr vm,
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
- diskSrcPath = virDomainDiskGetSource(disk);
|
||||||
|
+ if (disk->src->type == VIR_STORAGE_TYPE_NVME) {
|
||||||
|
+ virPCIDeviceAddressGetSysfsFile(&disk->src->nvme->pciAddr, &nvmePath);
|
||||||
|
+ diskSrcPath = nvmePath;
|
||||||
|
+ } else {
|
||||||
|
+ diskSrcPath = virDomainDiskGetSource(disk);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
/* Skip disks we don't want to migrate and already existing disks. */
|
||||||
|
if (!qemuMigrationAnyCopyDisk(disk, nmigrate_disks, migrate_disks) ||
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
From c8a043dcdf4f04288bcfc34c25054dcef571a6a7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
|
||||||
|
Date: Tue, 16 Jun 2020 16:32:10 +0200
|
||||||
|
Subject: [PATCH] qemu: do not add model when actual iface type is hostdev
|
||||||
|
|
||||||
|
No default model should be added to the interface
|
||||||
|
entry at post parse when its actual network type is hostdev
|
||||||
|
as doing so might cause a mismatch between the interface
|
||||||
|
definition and its actual device type.
|
||||||
|
|
||||||
|
cherry-pick from commit: bdb8f2e41867ae5dbcc040909b1b8c20fd864a40
|
||||||
|
|
||||||
|
Signed-off-by: Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
|
||||||
|
Reviewed-by: Laine Stump <laine@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/qemu/qemu_domain.c | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
|
||||||
|
index 91c1a49..cfada81 100644
|
||||||
|
--- a/src/qemu/qemu_domain.c
|
||||||
|
+++ b/src/qemu/qemu_domain.c
|
||||||
|
@@ -9334,6 +9334,7 @@ qemuDomainDeviceNetDefPostParse(virDomainNetDefPtr net,
|
||||||
|
virQEMUCapsPtr qemuCaps)
|
||||||
|
{
|
||||||
|
if (net->type != VIR_DOMAIN_NET_TYPE_HOSTDEV &&
|
||||||
|
+ virDomainNetResolveActualType(net) != VIR_DOMAIN_NET_TYPE_HOSTDEV &&
|
||||||
|
!virDomainNetGetModelString(net))
|
||||||
|
net->model = qemuDomainDefaultNetModel(def, qemuCaps);
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
From 7dd15a340179598dece5546c9e4fec9b8e47aca7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ján Tomko <jtomko@redhat.com>
|
||||||
|
Date: Tue, 12 May 2020 12:59:07 +0200
|
||||||
|
Subject: [PATCH] qemu: only stop external devices after the domain
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
A failure in qemuProcessLaunch would lead to qemuExtDevicesStop
|
||||||
|
being called twice - once in the cleanup section and then again
|
||||||
|
in qemuProcessStop.
|
||||||
|
|
||||||
|
However, the first one is called while the QEMU process is
|
||||||
|
still running, which is too soon for the swtpm process, because
|
||||||
|
the swtmp_ioctl command can lock up:
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1822523
|
||||||
|
|
||||||
|
Remove the first call and only leave the one in qemuProcessStop,
|
||||||
|
which is called after the QEMU process is killed.
|
||||||
|
|
||||||
|
cherry-pick from commit: 006782a8bc5a27125211946fcb12a40f7d4ed12a
|
||||||
|
|
||||||
|
Signed-off-by: Ján Tomko <jtomko@redhat.com>
|
||||||
|
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
|
||||||
|
Reviewed-by: Erik Skultety <eskultet@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/qemu/qemu_process.c | 2 --
|
||||||
|
1 file changed, 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
|
||||||
|
index 6b9f6fb..6fbe0c1 100644
|
||||||
|
--- a/src/qemu/qemu_process.c
|
||||||
|
+++ b/src/qemu/qemu_process.c
|
||||||
|
@@ -6998,8 +6998,6 @@ qemuProcessLaunch(virConnectPtr conn,
|
||||||
|
ret = 0;
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
- if (ret < 0)
|
||||||
|
- qemuExtDevicesStop(driver, vm);
|
||||||
|
qemuDomainSecretDestroy(vm);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -0,0 +1,54 @@
|
|||||||
|
From 517d69d6c3935adf59fcf9ed11cb05e1dfa8a6f3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Date: Tue, 5 May 2020 13:45:44 +0200
|
||||||
|
Subject: [PATCH] qemuDomainCleanupRun: Actually run cleanup callbacks in
|
||||||
|
reverse order
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
We have a framework to register cleanup callbacks that are run
|
||||||
|
when a domain is shut down. The idea is to run callbacks in
|
||||||
|
reverse order than they were registered. However, looking at the
|
||||||
|
code this is not the case. Fortunately, this framework is used to
|
||||||
|
register a single callback and a single callback only -
|
||||||
|
qemuMigrationDstPrepareCleanup() - therefore there was no problem
|
||||||
|
just yet.
|
||||||
|
|
||||||
|
cherry-pick from commit: 06fc99b6ceb846b07e1cae3d82916ef50ca5f60e
|
||||||
|
|
||||||
|
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/qemu/qemu_domain.c | 8 ++------
|
||||||
|
1 file changed, 2 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
|
||||||
|
index b1a4647..36bef67 100644
|
||||||
|
--- a/src/qemu/qemu_domain.c
|
||||||
|
+++ b/src/qemu/qemu_domain.c
|
||||||
|
@@ -11561,18 +11561,14 @@ qemuDomainCleanupRun(virQEMUDriverPtr driver,
|
||||||
|
virDomainObjPtr vm)
|
||||||
|
{
|
||||||
|
qemuDomainObjPrivatePtr priv = vm->privateData;
|
||||||
|
- size_t i;
|
||||||
|
|
||||||
|
VIR_DEBUG("driver=%p, vm=%s", driver, vm->def->name);
|
||||||
|
|
||||||
|
/* run cleanup callbacks in reverse order */
|
||||||
|
- for (i = 0; i < priv->ncleanupCallbacks; i++) {
|
||||||
|
- if (priv->cleanupCallbacks[priv->ncleanupCallbacks - (i + 1)])
|
||||||
|
- priv->cleanupCallbacks[i](driver, vm);
|
||||||
|
- }
|
||||||
|
+ while (priv->ncleanupCallbacks)
|
||||||
|
+ priv->cleanupCallbacks[--priv->ncleanupCallbacks](driver, vm);
|
||||||
|
|
||||||
|
VIR_FREE(priv->cleanupCallbacks);
|
||||||
|
- priv->ncleanupCallbacks = 0;
|
||||||
|
priv->ncleanupCallbacks_max = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
From 222d16af976dc08ee3ea2008d1dc68b00a1ccc9f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Henrique Barboza <danielhb413@gmail.com>
|
||||||
|
Date: Thu, 11 Jun 2020 15:54:57 -0300
|
||||||
|
Subject: [PATCH] qemuDomainSetNumaParamsLive: set nodeset for root cgroup
|
||||||
|
|
||||||
|
This function handles the change of NUMA nodeset for a given
|
||||||
|
guest, setting CpusetMems for the emulator, vcpus and IOThread
|
||||||
|
sub-groups. It doesn't set the same nodeset to the root cgroup
|
||||||
|
though. This means that cpuset.mems of the root cgroup ends up
|
||||||
|
holding the new nodeset and the old nodeset as well. For
|
||||||
|
a guest with placement=strict, nodeset='0', doing
|
||||||
|
|
||||||
|
virsh numatune <vm> 0 8 --live
|
||||||
|
|
||||||
|
Will make cpuset.mems of emulator, vcpus and iothread to be
|
||||||
|
"8", but cpuset.mems of the root cgroup will be "0,8".
|
||||||
|
|
||||||
|
This means that any new tasks that ends up landing in the
|
||||||
|
root cgroup, aside from the emulator/vcpus/iothread sub-groups,
|
||||||
|
will be split between the old nodeset and the new nodeset,
|
||||||
|
which is not what we want.
|
||||||
|
|
||||||
|
cherry-pick from commit: 1b22dd6dd44202094e0f78f887cbe790c00e9ebc
|
||||||
|
|
||||||
|
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
|
||||||
|
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/qemu/qemu_driver.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
|
||||||
|
index 8bc5368..cb049fe 100644
|
||||||
|
--- a/src/qemu/qemu_driver.c
|
||||||
|
+++ b/src/qemu/qemu_driver.c
|
||||||
|
@@ -9728,6 +9728,10 @@ qemuDomainSetNumaParamsLive(virDomainObjPtr vm,
|
||||||
|
virCgroupFree(&cgroup_temp);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* set nodeset for root cgroup */
|
||||||
|
+ if (virCgroupSetCpusetMems(priv->cgroup, nodeset_str) < 0)
|
||||||
|
+ goto cleanup;
|
||||||
|
+
|
||||||
|
ret = 0;
|
||||||
|
cleanup:
|
||||||
|
virCgroupFree(&cgroup_temp);
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
From 8263665d2003446a9b08181fdcc13b89397aae7d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Date: Thu, 14 May 2020 10:47:42 +0200
|
||||||
|
Subject: [PATCH] qemuDomainStorageSourcePrivateDispose: Free httpcookie
|
||||||
|
|
||||||
|
==156803== 58 (40 direct, 18 indirect) bytes in 1 blocks are definitely lost in loss record 306 of 463
|
||||||
|
==156803== at 0x4839EC6: calloc (vg_replace_malloc.c:762)
|
||||||
|
==156803== by 0x5791AC0: g_malloc0 (in /usr/lib64/libglib-2.0.so.0.6400.1)
|
||||||
|
==156803== by 0x48F60DC: virAlloc (viralloc.c:48)
|
||||||
|
==156803== by 0x18DD74: qemuStorageSourcePrivateDataAssignSecinfo (qemu_domain.c:2384)
|
||||||
|
==156803== by 0x18DFD5: qemuStorageSourcePrivateDataParse (qemu_domain.c:2433)
|
||||||
|
==156803== by 0x49EC884: virDomainStorageSourceParse (domain_conf.c:9857)
|
||||||
|
==156803== by 0x49ECBA3: virDomainDiskBackingStoreParse (domain_conf.c:9909)
|
||||||
|
==156803== by 0x49F129D: virDomainDiskDefParseXML (domain_conf.c:10785)
|
||||||
|
==156803== by 0x4A1804E: virDomainDefParseXML (domain_conf.c:21543)
|
||||||
|
==156803== by 0x4A1B60C: virDomainObjParseXML (domain_conf.c:22254)
|
||||||
|
==156803== by 0x4A1BFE9: virDomainObjParseNode (domain_conf.c:22429)
|
||||||
|
==156803== by 0x4A1C0B4: virDomainObjParseFile (domain_conf.c:22443
|
||||||
|
|
||||||
|
cherry-pick from commit: 42a415d5a548d828c4b6bd42ad59dfc44b113fa9
|
||||||
|
|
||||||
|
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/qemu/qemu_domain.c | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
|
||||||
|
index 36bef67..91c1a49 100644
|
||||||
|
--- a/src/qemu/qemu_domain.c
|
||||||
|
+++ b/src/qemu/qemu_domain.c
|
||||||
|
@@ -1203,6 +1203,7 @@ qemuDomainStorageSourcePrivateDispose(void *obj)
|
||||||
|
|
||||||
|
g_clear_pointer(&priv->secinfo, qemuDomainSecretInfoFree);
|
||||||
|
g_clear_pointer(&priv->encinfo, qemuDomainSecretInfoFree);
|
||||||
|
+ g_clear_pointer(&priv->httpcookie, qemuDomainSecretInfoFree);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
From 2358e2dd4971793f4c8cc530251ed0b01536e603 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Date: Mon, 18 May 2020 15:11:49 +0200
|
||||||
|
Subject: [PATCH] qemuProcessStop: Reattach NVMe disks a domain is mirroring
|
||||||
|
into
|
||||||
|
|
||||||
|
If the mirror destination is not a file but a NVMe disk, then
|
||||||
|
call qemuHostdevReAttachOneNVMeDisk() to reattach the NVMe back
|
||||||
|
to the host.
|
||||||
|
|
||||||
|
This would be done by blockjob code when the job finishes, but in
|
||||||
|
this case the job won't finish - QEMU is killed meanwhile.
|
||||||
|
|
||||||
|
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1825785
|
||||||
|
|
||||||
|
cherry-pick from commit: 8fd2749b2df99f3ac27215e9e4ab8be191c39460
|
||||||
|
|
||||||
|
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/qemu/qemu_process.c | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
|
||||||
|
index 9285ace..280fed9 100644
|
||||||
|
--- a/src/qemu/qemu_process.c
|
||||||
|
+++ b/src/qemu/qemu_process.c
|
||||||
|
@@ -7606,6 +7606,9 @@ void qemuProcessStop(virQEMUDriverPtr driver,
|
||||||
|
if (disk->mirror) {
|
||||||
|
if (qemuSecurityRestoreImageLabel(driver, vm, disk->mirror, false) < 0)
|
||||||
|
VIR_WARN("Unable to restore security label on %s", disk->dst);
|
||||||
|
+
|
||||||
|
+ if (virStorageSourceChainHasNVMe(disk->mirror))
|
||||||
|
+ qemuHostdevReAttachOneNVMeDisk(driver, vm->def->name, disk->mirror);
|
||||||
|
}
|
||||||
|
|
||||||
|
qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->src);
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -0,0 +1,44 @@
|
|||||||
|
From 63846560cf12789ff592374dfc6211d83e693e9d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Date: Mon, 18 May 2020 15:07:46 +0200
|
||||||
|
Subject: [PATCH] qemuProcessStop: Use XATTRs to restore seclabels on disks a
|
||||||
|
domain is mirroring into
|
||||||
|
|
||||||
|
In v5.10.0-rc1~42 (which was later fixed in v6.0.0-rc1~487) I am
|
||||||
|
removing XATTRs for a file that QEMU is mirroring a disk into but
|
||||||
|
it is killed meanwhile. Well, we can call
|
||||||
|
qemuSecurityRestoreImageLabel() which will not only remove XATTRs
|
||||||
|
but also use them to restore the original owner of the file.
|
||||||
|
|
||||||
|
This would be done by blockjob code when the job finishes, but in
|
||||||
|
this case the job won't finish - QEMU is killed meanwhile
|
||||||
|
|
||||||
|
cherry-pick from commit: 0230e3838402624756d6cd913b7d92639fafc7d0
|
||||||
|
|
||||||
|
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/qemu/qemu_process.c | 6 ++++--
|
||||||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
|
||||||
|
index 6fbe0c1..9285ace 100644
|
||||||
|
--- a/src/qemu/qemu_process.c
|
||||||
|
+++ b/src/qemu/qemu_process.c
|
||||||
|
@@ -7603,8 +7603,10 @@ void qemuProcessStop(virQEMUDriverPtr driver,
|
||||||
|
for (i = 0; i < def->ndisks; i++) {
|
||||||
|
virDomainDiskDefPtr disk = def->disks[i];
|
||||||
|
|
||||||
|
- if (disk->mirror)
|
||||||
|
- qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->mirror);
|
||||||
|
+ if (disk->mirror) {
|
||||||
|
+ if (qemuSecurityRestoreImageLabel(driver, vm, disk->mirror, false) < 0)
|
||||||
|
+ VIR_WARN("Unable to restore security label on %s", disk->dst);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->src);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
38
libvirt-remote-fix-driver-name-check-for-libxl-driver.patch
Normal file
38
libvirt-remote-fix-driver-name-check-for-libxl-driver.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
From 1285a266c106ebac3fc6d1a7d5bf839a7623a5a0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel P. Berrangé <berrange@redhat.com>
|
||||||
|
Date: Mon, 4 May 2020 17:41:46 +0100
|
||||||
|
Subject: [PATCH] remote: fix driver name check for libxl driver
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
The virConnectGetType() returns "Xen" for libxl, not "LIBXL".
|
||||||
|
|
||||||
|
This prevents users opening a connection to the libxl driver when using
|
||||||
|
the modular daemons.
|
||||||
|
|
||||||
|
cherry-pick from commit: d677de9d567e3e87be295b91723457b461345caa
|
||||||
|
|
||||||
|
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
|
||||||
|
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/remote/remote_daemon_dispatch.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon_dispatch.c
|
||||||
|
index c5506c2..d2652e3 100644
|
||||||
|
--- a/src/remote/remote_daemon_dispatch.c
|
||||||
|
+++ b/src/remote/remote_daemon_dispatch.c
|
||||||
|
@@ -2111,7 +2111,7 @@ remoteDispatchConnectOpen(virNetServerPtr server G_GNUC_UNUSED,
|
||||||
|
|
||||||
|
VIR_DEBUG("Primary driver type is '%s'", type);
|
||||||
|
if (STREQ(type, "QEMU") ||
|
||||||
|
- STREQ(type, "LIBXL") ||
|
||||||
|
+ STREQ(type, "Xen") ||
|
||||||
|
STREQ(type, "LXC") ||
|
||||||
|
STREQ(type, "VBOX") ||
|
||||||
|
STREQ(type, "bhyve") ||
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -0,0 +1,75 @@
|
|||||||
|
From ba950b814f7a2037829d54e3d1e0522c42c104a4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
||||||
|
Date: Tue, 26 May 2020 09:33:38 +0200
|
||||||
|
Subject: [PATCH] security: don't fail if built without attr support
|
||||||
|
|
||||||
|
If built without attr support removing any image will trigger
|
||||||
|
qemuBlockRemoveImageMetadata (the one that emits the warning)
|
||||||
|
-> qemuSecurityMoveImageMetadata
|
||||||
|
-> virSecurityManagerMoveImageMetadata
|
||||||
|
-> virSecurityDACMoveImageMetadata
|
||||||
|
-> virSecurityDACMoveImageMetadataHelper
|
||||||
|
-> virProcessRunInFork (spawns subprocess)
|
||||||
|
-> virSecurityMoveRememberedLabel
|
||||||
|
|
||||||
|
In there due to !HAVE_LIBATTR virFileGetXAttrQuiet will return
|
||||||
|
ENOSYS and from there the chain will error out.
|
||||||
|
|
||||||
|
That is wrong and looks like:
|
||||||
|
libvirtd[6320]: internal error: child reported (status=125):
|
||||||
|
libvirtd[6320]: Unable to remove disk metadata on vm testguest from
|
||||||
|
/var/lib/uvtool/libvirt/images/testguest.qcow (disk target vda)
|
||||||
|
|
||||||
|
This change makes virSecurityDACMoveImageMetadataHelper and
|
||||||
|
virSecuritySELinuxMoveImageMetadataHelper accept that
|
||||||
|
error code gracefully and in that sense it is an extension of:
|
||||||
|
5214b2f1a3f "security: Don't skip label restore on file systems lacking XATTRs"
|
||||||
|
which does the same for other call chains into the virFile*XAttr functions.
|
||||||
|
|
||||||
|
cherry-pick from commit: 55029d93150e33d70b02b6de2b899c05054c5d3a
|
||||||
|
|
||||||
|
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
||||||
|
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/security/security_dac.c | 6 ++++++
|
||||||
|
src/security/security_selinux.c | 6 ++++++
|
||||||
|
2 files changed, 12 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/security/security_dac.c b/src/security/security_dac.c
|
||||||
|
index 11fff63..51cabf1 100644
|
||||||
|
--- a/src/security/security_dac.c
|
||||||
|
+++ b/src/security/security_dac.c
|
||||||
|
@@ -1132,6 +1132,12 @@ virSecurityDACMoveImageMetadataHelper(pid_t pid G_GNUC_UNUSED,
|
||||||
|
|
||||||
|
ret = virSecurityMoveRememberedLabel(SECURITY_DAC_NAME, data->src, data->dst);
|
||||||
|
virSecurityManagerMetadataUnlock(data->mgr, &state);
|
||||||
|
+
|
||||||
|
+ if (ret == -2) {
|
||||||
|
+ /* Libvirt built without XATTRS */
|
||||||
|
+ ret = 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c
|
||||||
|
index 72d1658..78ea618 100644
|
||||||
|
--- a/src/security/security_selinux.c
|
||||||
|
+++ b/src/security/security_selinux.c
|
||||||
|
@@ -1990,6 +1990,12 @@ virSecuritySELinuxMoveImageMetadataHelper(pid_t pid G_GNUC_UNUSED,
|
||||||
|
|
||||||
|
ret = virSecurityMoveRememberedLabel(SECURITY_SELINUX_NAME, data->src, data->dst);
|
||||||
|
virSecurityManagerMetadataUnlock(data->mgr, &state);
|
||||||
|
+
|
||||||
|
+ if (ret == -2) {
|
||||||
|
+ /* Libvirt built without XATTRS */
|
||||||
|
+ ret = 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -0,0 +1,106 @@
|
|||||||
|
From 1ed313f35a4ac27ed29395ed30ec6e7966b798fd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Laine Stump <laine@redhat.com>
|
||||||
|
Date: Fri, 1 May 2020 00:05:50 -0400
|
||||||
|
Subject: [PATCH] systemd: start libvirtd after firewalld/iptables services
|
||||||
|
|
||||||
|
When a system has enabled the iptables/ip6tables services rather than
|
||||||
|
firewalld, there is no explicit ordering of the start of those
|
||||||
|
services vs. libvirtd. This creates a problem when libvirtd.service is
|
||||||
|
started before ip[6]tables, as the latter, when it finally is started,
|
||||||
|
will remove all of the iptables rules that had previously been added
|
||||||
|
by libvirt, including the custom chains where libvirt's rules are
|
||||||
|
kept. This results in an error message similar to the following when a
|
||||||
|
user subsequently tries to start a new libvirt network:
|
||||||
|
|
||||||
|
"Error while activating network: Call to virNetworkCreate failed:
|
||||||
|
internal error: Failed to apply firewall rules
|
||||||
|
/usr/sbin/ip6tables -w --table filter --insert LIBVIRT_FWO \
|
||||||
|
--in-interface virbr2 --jump REJECT:
|
||||||
|
ip6tables: No chain/target/match by that name."
|
||||||
|
|
||||||
|
(Prior to logging this error, it also would have caused failure to
|
||||||
|
forward (or block) traffic in some cases, e.g. for guests on a NATed
|
||||||
|
network, since libvirt's rules to forward/block had all been deleted
|
||||||
|
and libvirt didn't know about it, so it couldn't fix the problem)
|
||||||
|
|
||||||
|
When this happens, the problem can be remedied by simply restarting
|
||||||
|
libvirtd.service (which has the side-effect of reloading all
|
||||||
|
libvirt-generated firewall rules)
|
||||||
|
|
||||||
|
Instead, we can just explicitly stating in the libvirtd.service file
|
||||||
|
that libvirtd.service should start after ip6tables.service and
|
||||||
|
ip6tables.service, eliminating the race condition that leads to the
|
||||||
|
error.
|
||||||
|
|
||||||
|
There is also nothing (that I can see) in the systemd .service files
|
||||||
|
to guarantee that firewalld.service will be started (if enabled) prior
|
||||||
|
to libvirtd.service. The same error scenario given above would occur
|
||||||
|
if libvirtd.service started before firewalld.service. Even before
|
||||||
|
that, though libvirtd would have detected that firewalld.service was
|
||||||
|
disabled, and then turn off all firewalld support. So, for example,
|
||||||
|
firewalld's libvirt zone wouldn't be used, and most likely traffic
|
||||||
|
from guests would therefore be blocked (all with no external
|
||||||
|
indication of the source of the problem other than a debug-level log
|
||||||
|
when libvirtd was started saying that firewalld wasn't in use); also
|
||||||
|
libvirtd wouldn't notice when firewalld reloaded its rules (which also
|
||||||
|
simultaneously deletes all of libvirt's rules).
|
||||||
|
|
||||||
|
I'm not aware of any reports that have been traced back to
|
||||||
|
libvirtd.service starting before firewalld.service, but have seen that
|
||||||
|
error reported multiple times, and also don't see an existing
|
||||||
|
dependency that would guarantee firewalld.service starts before
|
||||||
|
libvirtd.service, so it's possible it's been happening and we just
|
||||||
|
haven't gotten to the bottom of it.
|
||||||
|
|
||||||
|
This patch adds an After= line to the libvirtd.service file for each
|
||||||
|
of iptables.service, ip6tables.service, and firewalld.servicee, which
|
||||||
|
should guarantee that libvirtd.service isn't started until systemd has
|
||||||
|
started whichever of the others is enabled.
|
||||||
|
|
||||||
|
This race was diagnosed, and patch proposed, by Jason Montleon in
|
||||||
|
https://bugzilla.redhat.com/1723698 . At the time (April 2019) danpb
|
||||||
|
agreed with him that this change to libvirtd.service was a reasonable
|
||||||
|
thing to do, but I guess everyone thought someone else was going to
|
||||||
|
post a patch, so in the end nobody did.
|
||||||
|
|
||||||
|
cherry-pick from commit: 0756415f147dda15a417bd79eef9a62027d176e6
|
||||||
|
|
||||||
|
Signed-off-by: Laine Stump <laine@redhat.com>
|
||||||
|
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/network/virtnetworkd.service.in | 3 +++
|
||||||
|
src/remote/libvirtd.service.in | 3 +++
|
||||||
|
2 files changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/network/virtnetworkd.service.in b/src/network/virtnetworkd.service.in
|
||||||
|
index 656e8b4..56182e1 100644
|
||||||
|
--- a/src/network/virtnetworkd.service.in
|
||||||
|
+++ b/src/network/virtnetworkd.service.in
|
||||||
|
@@ -5,6 +5,9 @@ Requires=virtnetworkd.socket
|
||||||
|
Requires=virtnetworkd-ro.socket
|
||||||
|
Requires=virtnetworkd-admin.socket
|
||||||
|
After=network.target
|
||||||
|
+After=firewalld.service
|
||||||
|
+After=iptables.service
|
||||||
|
+After=ip6tables.service
|
||||||
|
After=dbus.service
|
||||||
|
After=apparmor.service
|
||||||
|
After=local-fs.target
|
||||||
|
diff --git a/src/remote/libvirtd.service.in b/src/remote/libvirtd.service.in
|
||||||
|
index 90b2cad..cc0d4e3 100644
|
||||||
|
--- a/src/remote/libvirtd.service.in
|
||||||
|
+++ b/src/remote/libvirtd.service.in
|
||||||
|
@@ -11,6 +11,9 @@ Wants=libvirtd-admin.socket
|
||||||
|
Wants=systemd-machined.service
|
||||||
|
Before=libvirt-guests.service
|
||||||
|
After=network.target
|
||||||
|
+After=firewalld.service
|
||||||
|
+After=iptables.service
|
||||||
|
+After=ip6tables.service
|
||||||
|
After=dbus.service
|
||||||
|
After=iscsid.service
|
||||||
|
After=apparmor.service
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -0,0 +1,63 @@
|
|||||||
|
From c279162d6d335d4302a74c1e19dbce8eaff75679 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Date: Fri, 24 Apr 2020 13:17:51 +0200
|
||||||
|
Subject: [PATCH] virDevMapperGetTargetsImpl: quit early if device is not a
|
||||||
|
devmapper target
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
As suggested in the linked bug, libvirt should firstly check
|
||||||
|
whether the major number of the device is device mapper major.
|
||||||
|
Because if it isn't subsequent DM_DEVICE_DEPS task may not only
|
||||||
|
fail, but also yield different results. In the bugzilla this is
|
||||||
|
demonstrated by creating a devmapper target named 'loop0' and
|
||||||
|
then creating loop target /dev/loop0. When the latter is then
|
||||||
|
passed to a domain, our virDevMapperGetTargetsImpl() function
|
||||||
|
blindly asks devmapper to provide target dependencies for
|
||||||
|
/dev/loop0 and because of the way devmapper APIs work, it will
|
||||||
|
'sanitize' the input by using the last component only which is
|
||||||
|
'loop0' and thus return different results than expected.
|
||||||
|
|
||||||
|
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1823976
|
||||||
|
|
||||||
|
cherry-pick from commit: 01626c668ecfbe465d18799ac4628e6127ea1d47
|
||||||
|
|
||||||
|
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/util/virdevmapper.c | 10 ++++++++++
|
||||||
|
1 file changed, 10 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/util/virdevmapper.c b/src/util/virdevmapper.c
|
||||||
|
index feb5982..79dbc3d 100644
|
||||||
|
--- a/src/util/virdevmapper.c
|
||||||
|
+++ b/src/util/virdevmapper.c
|
||||||
|
@@ -64,6 +64,7 @@ virDevMapperGetTargetsImpl(const char *path,
|
||||||
|
char ***devPaths_ret,
|
||||||
|
unsigned int ttl)
|
||||||
|
{
|
||||||
|
+ struct stat sb;
|
||||||
|
struct dm_task *dmt = NULL;
|
||||||
|
struct dm_deps *deps;
|
||||||
|
struct dm_info info;
|
||||||
|
@@ -82,6 +83,15 @@ virDevMapperGetTargetsImpl(const char *path,
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (stat(path, &sb) < 0) {
|
||||||
|
+ if (errno == ENOENT)
|
||||||
|
+ return 0;
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (!dm_is_dm_major(major(sb.st_dev)))
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
if (!(dmt = dm_task_create(DM_DEVICE_DEPS))) {
|
||||||
|
if (errno == ENOENT || errno == ENODEV) {
|
||||||
|
/* It's okay. Kernel is probably built without
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
From a34f1d6623f3fb1ec03982ef776e31a4b450158d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Krempa <pkrempa@redhat.com>
|
||||||
|
Date: Tue, 16 Jun 2020 12:36:55 +0200
|
||||||
|
Subject: [PATCH] virQEMUDriverConfigNew: Add slash to
|
||||||
|
cfg->defaultTLSx509certdir for non-embedded driver
|
||||||
|
|
||||||
|
Commit 068efae5b1a9ef accidentally removed the slash.
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1847234
|
||||||
|
|
||||||
|
cherry-pick from commit: 8f58a4003532d5fffdadf2adc659c94eba3fa21a
|
||||||
|
|
||||||
|
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
|
||||||
|
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
|
||||||
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||||
|
---
|
||||||
|
src/qemu/qemu_conf.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
|
||||||
|
index 15837ce..809e8fe 100644
|
||||||
|
--- a/src/qemu/qemu_conf.c
|
||||||
|
+++ b/src/qemu/qemu_conf.c
|
||||||
|
@@ -234,7 +234,7 @@ virQEMUDriverConfigPtr virQEMUDriverConfigNew(bool privileged,
|
||||||
|
* directory doesn't exist (although we don't check if this exists).
|
||||||
|
*/
|
||||||
|
if (root == NULL) {
|
||||||
|
- cfg->defaultTLSx509certdir = g_strdup(SYSCONFDIR "pki/qemu");
|
||||||
|
+ cfg->defaultTLSx509certdir = g_strdup(SYSCONFDIR "/pki/qemu");
|
||||||
|
} else {
|
||||||
|
cfg->defaultTLSx509certdir = g_strdup_printf("%s/etc/pki/qemu", root);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
20
libvirt.spec
20
libvirt.spec
@ -99,7 +99,7 @@
|
|||||||
Summary: Library providing a simple virtualization API
|
Summary: Library providing a simple virtualization API
|
||||||
Name: libvirt
|
Name: libvirt
|
||||||
Version: 6.2.0
|
Version: 6.2.0
|
||||||
Release: 9
|
Release: 10
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
URL: https://libvirt.org/
|
URL: https://libvirt.org/
|
||||||
|
|
||||||
@ -133,6 +133,22 @@ Patch0022: libvirt-conf-Don-t-format-http-cookies-unless-VIR_DOMAIN_DEF.patch
|
|||||||
Patch0023: libvirt-virstoragetest-testBackingParse-Use-VIR_DOMAIN_DEF_F.patch
|
Patch0023: libvirt-virstoragetest-testBackingParse-Use-VIR_DOMAIN_DEF_F.patch
|
||||||
Patch0024: libvirt-support-aarch64-vtpm-with-parameter-tpm-tis-.patch
|
Patch0024: libvirt-support-aarch64-vtpm-with-parameter-tpm-tis-.patch
|
||||||
Patch0025: libvirt-tests-commandtest-skip-the-test4-if-the-testcase-is-.patch
|
Patch0025: libvirt-tests-commandtest-skip-the-test4-if-the-testcase-is-.patch
|
||||||
|
Patch0026: libvirt-remote-fix-driver-name-check-for-libxl-driver.patch
|
||||||
|
Patch0027: libvirt-systemd-start-libvirtd-after-firewalld-iptables-serv.patch
|
||||||
|
Patch0028: libvirt-qemuDomainCleanupRun-Actually-run-cleanup-callbacks-.patch
|
||||||
|
Patch0029: libvirt-virDevMapperGetTargetsImpl-quit-early-if-device-is-n.patch
|
||||||
|
Patch0030: libvirt-qemu-only-stop-external-devices-after-the-domain.patch
|
||||||
|
Patch0031: libvirt-qemuDomainStorageSourcePrivateDispose-Free-httpcooki.patch
|
||||||
|
Patch0032: libvirt-Don-t-require-secdrivers-to-implement-.domainMoveIma.patch
|
||||||
|
Patch0033: libvirt-qemuProcessStop-Use-XATTRs-to-restore-seclabels-on-d.patch
|
||||||
|
Patch0034: libvirt-qemuProcessStop-Reattach-NVMe-disks-a-domain-is-mirr.patch
|
||||||
|
Patch0035: libvirt-security-don-t-fail-if-built-without-attr-support.patch
|
||||||
|
Patch0036: libvirt-qemu-Skip-pre-creation-of-NVMe-disks.patch
|
||||||
|
Patch0037: libvirt-Fix-some-wrong-usage-of-ATTRIBUTE_NONNULL.patch
|
||||||
|
Patch0038: libvirt-conf-Increase-cpuset-length-limit-for-CPU-pinning.patch
|
||||||
|
Patch0039: libvirt-virQEMUDriverConfigNew-Add-slash-to-cfg-defaultTLSx5.patch
|
||||||
|
Patch0040: libvirt-qemuDomainSetNumaParamsLive-set-nodeset-for-root-cgr.patch
|
||||||
|
Patch0041: libvirt-qemu-do-not-add-model-when-actual-iface-type-is-host.patch
|
||||||
|
|
||||||
Requires: libvirt-daemon = %{version}-%{release}
|
Requires: libvirt-daemon = %{version}-%{release}
|
||||||
Requires: libvirt-daemon-config-network = %{version}-%{release}
|
Requires: libvirt-daemon-config-network = %{version}-%{release}
|
||||||
@ -1865,6 +1881,8 @@ exit 0
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Sep 22 2020 Jin Yan <jinyan12@huawei.com> - 6.2.0-10
|
||||||
|
- bugfix: cherry-pick some bugfix patches from opensource community
|
||||||
* Wed Aug 5 2020 AlexChen <alex.chen@huawei.com> - 6.2.0-9
|
* Wed Aug 5 2020 AlexChen <alex.chen@huawei.com> - 6.2.0-9
|
||||||
- tests: skip the test4 if the testcase is run in the container env
|
- tests: skip the test4 if the testcase is run in the container env
|
||||||
* Wed Aug 5 2020 Jiang Fangjie <jiangfangjie@huawei.com> - 6.2.0-8
|
* Wed Aug 5 2020 Jiang Fangjie <jiangfangjie@huawei.com> - 6.2.0-8
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user