sync some bugfix patches from upstream
Signed-off-by: yezengruan <yezengruan@huawei.com>
This commit is contained in:
parent
9cf5717ced
commit
bab57abd85
53
Fix-allocation-of-virDomainFSDef.patch
Normal file
53
Fix-allocation-of-virDomainFSDef.patch
Normal file
@ -0,0 +1,53 @@
|
||||
From 805efc1e0446e84c4b9bf9984c92b9e05b6ced62 Mon Sep 17 00:00:00 2001
|
||||
From: tangbin <tangbin_yewu@cmss.chinamobile.com>
|
||||
Date: Wed, 23 Nov 2022 16:00:29 +0200
|
||||
Subject: [PATCH 09/23] Fix allocation of virDomainFSDef
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Some less commonly used drivers were omitted when we switched
|
||||
the allocator from a plain VIR_ALLOC to virDomainFSDefNew.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1846450
|
||||
|
||||
Fixes: da665fbd4858890fbb3bbf5da2a7b6ca37bb3220
|
||||
Signed-off-by: Ján Tomko <jtomko@redhat.com>
|
||||
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
|
||||
|
||||
Signed-off-by: tangbin <tangbin_yewu@cmss.chinamobile.com>
|
||||
(cherry-pick from ea3320048897f5279bc49cb49d26f8099706a834)
|
||||
---
|
||||
src/openvz/openvz_conf.c | 2 +-
|
||||
src/vbox/vbox_common.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/openvz/openvz_conf.c b/src/openvz/openvz_conf.c
|
||||
index 78547b8b28..15e1e2ae9f 100644
|
||||
--- a/src/openvz/openvz_conf.c
|
||||
+++ b/src/openvz/openvz_conf.c
|
||||
@@ -357,7 +357,7 @@ openvzReadFSConf(virDomainDefPtr def,
|
||||
goto error;
|
||||
}
|
||||
|
||||
- if (VIR_ALLOC(fs) < 0)
|
||||
+ if (!(fs = virDomainFSDefNew(NULL)))
|
||||
goto error;
|
||||
|
||||
veid_str = g_strdup_printf("%d", veid);
|
||||
diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c
|
||||
index e98ae04ec0..d06a5f79ab 100644
|
||||
--- a/src/vbox/vbox_common.c
|
||||
+++ b/src/vbox/vbox_common.c
|
||||
@@ -3620,7 +3620,7 @@ vboxDumpSharedFolders(virDomainDefPtr def, vboxDriverPtr data, IMachine *machine
|
||||
char *hostPath = NULL;
|
||||
PRBool writable = PR_FALSE;
|
||||
|
||||
- if (VIR_ALLOC(def->fss[i]) < 0)
|
||||
+ if (!(def->fss[i] = virDomainFSDefNew(data->xmlopt)))
|
||||
goto cleanup;
|
||||
|
||||
def->fss[i]->type = VIR_DOMAIN_FS_TYPE_MOUNT;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
31
bash-completion-fix-variable-leaks-of-word.patch
Normal file
31
bash-completion-fix-variable-leaks-of-word.patch
Normal file
@ -0,0 +1,31 @@
|
||||
From 4bdf8aeb2e907b53cc71c07b3c6be8f82e3f1e4a Mon Sep 17 00:00:00 2001
|
||||
From: Xu Zheng <xuzheng_yewu@cmss.chinamobile.com>
|
||||
Date: Thu, 24 Nov 2022 17:58:28 +0800
|
||||
Subject: [PATCH 20/23] bash-completion: fix variable leaks of "word"
|
||||
|
||||
cherry-pick from 097296c30b72f472bcf4e72cf8ab2aeb55903c49
|
||||
|
||||
Signed-off-by: Koichi Murase <myoga.murase@gmail.com>
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Signed-off-by: Xu Zheng <xuzheng_yewu@cmss.chinamobile.com>
|
||||
---
|
||||
tools/bash-completion/vsh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tools/bash-completion/vsh b/tools/bash-completion/vsh
|
||||
index 8493cad28b..363097c601 100644
|
||||
--- a/tools/bash-completion/vsh
|
||||
+++ b/tools/bash-completion/vsh
|
||||
@@ -21,7 +21,7 @@ _vsh_complete()
|
||||
# See what URI is user trying to connect to and if they are
|
||||
# connecting RO. Honour that.
|
||||
while [ $c -le $COMP_CWORD ]; do
|
||||
- word="${COMP_WORDS[c]}"
|
||||
+ local word="${COMP_WORDS[c]}"
|
||||
case "$word" in
|
||||
-r|--readonly) RO=1 ;;
|
||||
-c|--connect) c=$((++c)); URI=${COMP_WORDS[c]} ;;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
34
checkpoint-Fix-a-typo-of-comments.patch
Normal file
34
checkpoint-Fix-a-typo-of-comments.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From 5d84740e04d99a8503f20b2281f3fd70fa1f69ab Mon Sep 17 00:00:00 2001
|
||||
From: jipengfei <jipengfei_yewu@cmss.chinamobile.com>
|
||||
Date: Thu, 24 Nov 2022 16:43:51 +0800
|
||||
Subject: [PATCH 16/23] checkpoint: Fix a typo of comments
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
cherry-pick from 75134a3a7d1ca6976dfc2af7cd53461cb0aee529
|
||||
|
||||
Signed-off-by: Han Han <hhan@redhat.com>
|
||||
Signed-off-by: jipengfei <jipengfei_yewu@cmss.chinamobile.com>
|
||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
Signed-off-by: Ján Tomko <jtomko@redhat.com>
|
||||
---
|
||||
src/libvirt-domain-checkpoint.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libvirt-domain-checkpoint.c b/src/libvirt-domain-checkpoint.c
|
||||
index 432c2d5a52..58668c391c 100644
|
||||
--- a/src/libvirt-domain-checkpoint.c
|
||||
+++ b/src/libvirt-domain-checkpoint.c
|
||||
@@ -236,7 +236,7 @@ virDomainCheckpointGetXMLDesc(virDomainCheckpointPtr checkpoint,
|
||||
* @checkpoints: pointer to variable to store the array containing checkpoint
|
||||
* object, or NULL if the list is not required (just returns
|
||||
* number of checkpoints)
|
||||
- * @flags: bitwise-OR of supported virDomainCheckpoinListFlags
|
||||
+ * @flags: bitwise-OR of supported virDomainCheckpointListFlags
|
||||
*
|
||||
* Collect the list of domain checkpoints for the given domain and allocate
|
||||
* an array to store those objects.
|
||||
--
|
||||
2.27.0
|
||||
|
||||
28
libvirt.spec
28
libvirt.spec
@ -101,7 +101,7 @@
|
||||
Summary: Library providing a simple virtualization API
|
||||
Name: libvirt
|
||||
Version: 6.2.0
|
||||
Release: 45
|
||||
Release: 46
|
||||
License: LGPLv2+
|
||||
URL: https://libvirt.org/
|
||||
|
||||
@ -368,6 +368,29 @@ Patch0255: migration-dirtyrate-Implement-qemuMonitorQueryDirtyR.patch
|
||||
Patch0256: migration-dirtyrate-Extend-dirtyrate-statistics-for-.patch
|
||||
Patch0257: migration-dirtyrate-Introduce-command-virsh-domstats.patch
|
||||
Patch0258: docs-Fix-template-matching-in-page.xsl.patch
|
||||
Patch0259: vircgroupv1-fix-null-string-specifier-argument-in-vi.patch
|
||||
Patch0260: qemu-fix-null-string-specifier-argument-in-qemuDomai.patch
|
||||
Patch0261: qemu-fix-domain-start-with-corrupted-save-file.patch
|
||||
Patch0262: qemu-fix-bad-indentation-for-qemuDomainNVRAMPathForm.patch
|
||||
Patch0263: util-fix-syslog-facility-value.patch
|
||||
Patch0264: util-set-facility-when-opening-syslog-channel.patch
|
||||
Patch0265: qemu-fix-memleak-in-qemuDomainAttachDeviceLive.patch
|
||||
Patch0266: mdev-Fix-daemon-crash-when-reattaching-mdevs-on-assi.patch
|
||||
Patch0267: Fix-allocation-of-virDomainFSDef.patch
|
||||
Patch0268: virsh-Fix-typo-of-metadata.patch
|
||||
Patch0269: virsh-cmdBlock-Remove-error-prefix-for-an-empty-line.patch
|
||||
Patch0270: vshtabletest-Fix-potential-memleak.patch
|
||||
Patch0271: vircgroupv2devices-fix-counting-entries-in-BPF-map.patch
|
||||
Patch0272: node_device_udev.h-Drop-unused-macro.patch
|
||||
Patch0273: qemu-fix-conversion-specifier-in-qemuBuildVsockDevPr.patch
|
||||
Patch0274: checkpoint-Fix-a-typo-of-comments.patch
|
||||
Patch0275: qemu_driver-Fix-indentation-in-qemuDomainGetStatsVcp.patch
|
||||
Patch0276: vmx-Require-networkName-for-bridged-and-custom-NICs.patch
|
||||
Patch0277: nodedev-wait-a-bit-longer-for-new-node-devices.patch
|
||||
Patch0278: bash-completion-fix-variable-leaks-of-word.patch
|
||||
Patch0279: util-Drop-pointless-NUL_TERMINATE-macro.patch
|
||||
Patch0280: virDomainCheckpointCreateXML-Don-t-use-HTML-in-funct.patch
|
||||
Patch0281: qemuMigrationSrcWaitForSpice-Remove-return-value.patch
|
||||
|
||||
Requires: libvirt-daemon = %{version}-%{release}
|
||||
Requires: libvirt-daemon-config-network = %{version}-%{release}
|
||||
@ -2102,6 +2125,9 @@ exit 0
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Nov 25 2022 yezengruan <yezengruan@huawei.com> - 6.2.0-46
|
||||
- sync some bugfix patches from upstream
|
||||
|
||||
* Fri Nov 11 2022 yezengruan <yezengruan@huawei.com> - 6.2.0-45
|
||||
- docs: Fix template matching in page.xsl
|
||||
|
||||
|
||||
51
mdev-Fix-daemon-crash-when-reattaching-mdevs-on-assi.patch
Normal file
51
mdev-Fix-daemon-crash-when-reattaching-mdevs-on-assi.patch
Normal file
@ -0,0 +1,51 @@
|
||||
From 69ea920668827c16ab27016d67a8e58e25f2aa55 Mon Sep 17 00:00:00 2001
|
||||
From: tangbinzy <tangbin_yewu@cmss.chinamobile.com>
|
||||
Date: Wed, 23 Nov 2022 10:03:38 +0000
|
||||
Subject: [PATCH 08/23] mdev: Fix daemon crash when reattaching mdevs on
|
||||
assignment conflict If there's a list of mdevs to be assigned to a domain,
|
||||
but one of them (NOT the first) is already assigned to a different domain
|
||||
we're going to crash in the qemuProcessStop phase in
|
||||
virMediatedDeviceListFindIndex, because some of the pointers in
|
||||
mgr->activeMediatedHostdevs are dangling. This is due to
|
||||
virMediatedDeviceListMarkDevices using cleanup instead of rollback when we
|
||||
find out that a device is already taken.
|
||||
|
||||
Reproducer steps:
|
||||
1. start vm1 with mdev1
|
||||
2. start vm2 with mdev2, mdev1 (the order is important!)
|
||||
|
||||
Backtrace:
|
||||
#0 0x0000ffffb8c36250 in strcmp
|
||||
#1 0x0000ffffb9b80754 in virMediatedDeviceListFindIndex
|
||||
#2 0x0000ffffb9b80870 in virMediatedDeviceListFind
|
||||
#3 0x0000ffffb9c9e168 in virHostdevReAttachMediatedDevices
|
||||
#4 0x0000ffff9949f724 in qemuHostdevReAttachMediatedDevices
|
||||
#5 0x0000ffff9949f7f8 in qemuHostdevReAttachDomainDevices
|
||||
#6 0x0000ffff994bcd70 in qemuProcessStop
|
||||
#7 0x0000ffff994bf4e0 in qemuProcessStart
|
||||
|
||||
Signed-off-by: Binfeng Wu <wubinfeng@huawei.com>
|
||||
Reviewed-by: Erik Skultety <eskultet@redhat.com>
|
||||
|
||||
Signed-off-by: tangbin <tangbin_yewu@cmss.chinamobile.com>
|
||||
(cherry-pick from 8361d335ab77cb1f3b70a3fa92f7e2d0aaa31bac)
|
||||
---
|
||||
src/util/virmdev.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/util/virmdev.c b/src/util/virmdev.c
|
||||
index bae4a7d2c1..a40d2f4fb5 100644
|
||||
--- a/src/util/virmdev.c
|
||||
+++ b/src/util/virmdev.c
|
||||
@@ -445,7 +445,7 @@ virMediatedDeviceListMarkDevices(virMediatedDeviceListPtr dst,
|
||||
|
||||
if (virMediatedDeviceIsUsed(mdev, dst) ||
|
||||
virMediatedDeviceSetUsedBy(mdev, drvname, domname) < 0)
|
||||
- goto cleanup;
|
||||
+ goto rollback;
|
||||
|
||||
/* Copy mdev references to the driver list:
|
||||
* - caller is responsible for NOT freeing devices in @src on success
|
||||
--
|
||||
2.27.0
|
||||
|
||||
31
node_device_udev.h-Drop-unused-macro.patch
Normal file
31
node_device_udev.h-Drop-unused-macro.patch
Normal file
@ -0,0 +1,31 @@
|
||||
From 4111ae4dcc2f9158a8e4e7a9a4787bcc39b3704b Mon Sep 17 00:00:00 2001
|
||||
From: Xu Zheng <xuzheng_yewu@cmss.chinamobile.com>
|
||||
Date: Thu, 24 Nov 2022 10:50:04 +0800
|
||||
Subject: [PATCH 14/23] node_device_udev.h: Drop unused macro
|
||||
|
||||
The SYSFS_DATA_SIZE macro is Unused since its introduction in
|
||||
v0.7.3~48.
|
||||
|
||||
cherry-pick from 4a00efe9cb3b60c8729b4262440747db17356f32
|
||||
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Signed-off-by: Xu Zheng <xuzheng_yewu@cmss.chinamobile.com>
|
||||
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
|
||||
---
|
||||
src/node_device/node_device_udev.h | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/node_device/node_device_udev.h b/src/node_device/node_device_udev.h
|
||||
index 996677dfe0..6d796fb0dd 100644
|
||||
--- a/src/node_device/node_device_udev.h
|
||||
+++ b/src/node_device/node_device_udev.h
|
||||
@@ -22,6 +22,5 @@
|
||||
|
||||
#include <libudev.h>
|
||||
|
||||
-#define SYSFS_DATA_SIZE 4096
|
||||
#define DMI_DEVPATH "/sys/devices/virtual/dmi/id"
|
||||
#define DMI_DEVPATH_FALLBACK "/sys/class/dmi/id"
|
||||
--
|
||||
2.27.0
|
||||
|
||||
45
nodedev-wait-a-bit-longer-for-new-node-devices.patch
Normal file
45
nodedev-wait-a-bit-longer-for-new-node-devices.patch
Normal file
@ -0,0 +1,45 @@
|
||||
From 523320a7c4a457a90576c73539abf3b25466bb26 Mon Sep 17 00:00:00 2001
|
||||
From: jipengfei <jipengfei_yewu@cmss.chinamobile.com>
|
||||
Date: Thu, 24 Nov 2022 17:42:21 +0800
|
||||
Subject: [PATCH 19/23] nodedev: wait a bit longer for new node devices
|
||||
|
||||
cherry-pick from e4f9682ebc442bb5dfee807ba618c8863355776d
|
||||
|
||||
Openstack developers reported that newly-created mdevs were not
|
||||
recognized by libvirt until after a libvirt daemon restart. The source
|
||||
of the problem appears to be that when libvirt gets the udev 'add'
|
||||
event, the sysfs tree for that device might not be ready and so libvirt
|
||||
waits 100ms for it to appear (max 100 waits of 1ms each). But in the
|
||||
OpenStack environment, the sysfs tree for new mediated devices was
|
||||
taking closer to 250ms to appear and therefore libvirt gave up waiting
|
||||
and didn't add these new devices to its list of nodedevs.
|
||||
|
||||
By changing the wait time to 1 second (max 100 waits of 10ms each), this
|
||||
should provide enough time to enable these deployments to recognize
|
||||
newly-created mediated devices, but it shouldn't increase the delay for
|
||||
more traditional deployments too much.
|
||||
|
||||
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2109450
|
||||
|
||||
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
|
||||
Reviewed-by: Erik Skultety <eskultet@redhat.com>
|
||||
---
|
||||
src/node_device/node_device_udev.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
|
||||
index 94e8469dcb..a674380f19 100644
|
||||
--- a/src/node_device/node_device_udev.c
|
||||
+++ b/src/node_device/node_device_udev.c
|
||||
@@ -1030,7 +1030,7 @@ udevProcessMediatedDevice(struct udev_device *dev,
|
||||
|
||||
linkpath = g_strdup_printf("%s/mdev_type", udev_device_get_syspath(dev));
|
||||
|
||||
- if (virFileWaitForExists(linkpath, 1, 100) < 0) {
|
||||
+ if (virFileWaitForExists(linkpath, 10, 100) < 0) {
|
||||
virReportSystemError(errno,
|
||||
_("failed to wait for file '%s' to appear"),
|
||||
linkpath);
|
||||
--
|
||||
2.27.0
|
||||
|
||||
51
qemu-fix-bad-indentation-for-qemuDomainNVRAMPathForm.patch
Normal file
51
qemu-fix-bad-indentation-for-qemuDomainNVRAMPathForm.patch
Normal file
@ -0,0 +1,51 @@
|
||||
From 0d04ea0e49ea1632a8991d24d03f044993047eaf Mon Sep 17 00:00:00 2001
|
||||
From: wangmeiyang <wangmeiyang_yewu@cmss.chinamobile.com>
|
||||
Date: Wed, 23 Nov 2022 17:08:11 +0800
|
||||
Subject: [PATCH 04/23] qemu: fix bad indentation for qemuDomainNVRAMPathFormat
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
cherry-pick from 7dd53b125a880e3d67403ac345589c37dd137f08
|
||||
|
||||
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
Signed-off-by: Meiyang Wang <wangmeiyang@cmss.chinamobile.com>
|
||||
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
---
|
||||
src/qemu/qemu_domain.c | 4 ++--
|
||||
src/qemu/qemu_domain.h | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
|
||||
index 834af89a1e..c315717c8a 100644
|
||||
--- a/src/qemu/qemu_domain.c
|
||||
+++ b/src/qemu/qemu_domain.c
|
||||
@@ -16994,8 +16994,8 @@ qemuDomainDiskIsMissingLocalOptional(virDomainDiskDefPtr disk)
|
||||
|
||||
void
|
||||
qemuDomainNVRAMPathFormat(virQEMUDriverConfigPtr cfg,
|
||||
- virDomainDefPtr def,
|
||||
- char **path)
|
||||
+ virDomainDefPtr def,
|
||||
+ char **path)
|
||||
{
|
||||
*path = g_strdup_printf("%s/%s_VARS.fd", cfg->nvramDir, def->name);
|
||||
}
|
||||
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
|
||||
index 678ddab624..164fb36f0c 100644
|
||||
--- a/src/qemu/qemu_domain.h
|
||||
+++ b/src/qemu/qemu_domain.h
|
||||
@@ -1260,8 +1260,8 @@ qemuDomainDiskIsMissingLocalOptional(virDomainDiskDefPtr disk);
|
||||
|
||||
void
|
||||
qemuDomainNVRAMPathFormat(virQEMUDriverConfigPtr cfg,
|
||||
- virDomainDefPtr def,
|
||||
- char **path);
|
||||
+ virDomainDefPtr def,
|
||||
+ char **path);
|
||||
|
||||
void
|
||||
qemuDomainNVRAMPathGenerate(virQEMUDriverConfigPtr cfg,
|
||||
--
|
||||
2.27.0
|
||||
|
||||
36
qemu-fix-conversion-specifier-in-qemuBuildVsockDevPr.patch
Normal file
36
qemu-fix-conversion-specifier-in-qemuBuildVsockDevPr.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From f80fccdd500f6d77bee4fe6e24cb61d3266f38da Mon Sep 17 00:00:00 2001
|
||||
From: Xu Zheng <xuzheng_yewu@cmss.chinamobile.com>
|
||||
Date: Thu, 24 Nov 2022 15:41:29 +0800
|
||||
Subject: [PATCH 15/23] qemu: fix conversion specifier in
|
||||
qemuBuildVsockDevProps
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
vhostfd is a signed integer.
|
||||
|
||||
cherry-pick from 045072ee3ad0643254c8cb55bd47c878ddbee084
|
||||
|
||||
Signed-off-by: Ján Tomko <jtomko@redhat.com>
|
||||
Signed-off-by: Xu Zheng <xuzheng_yewu@cmss.chinamobile.com>
|
||||
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||
---
|
||||
src/qemu/qemu_command.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
|
||||
index 42f6e10b33..7bd24f042c 100644
|
||||
--- a/src/qemu/qemu_command.c
|
||||
+++ b/src/qemu/qemu_command.c
|
||||
@@ -9882,7 +9882,7 @@ qemuBuildVsockDevStr(virDomainDefPtr def,
|
||||
|
||||
virBufferAsprintf(&buf, ",id=%s", vsock->info.alias);
|
||||
virBufferAsprintf(&buf, ",guest-cid=%u", vsock->guest_cid);
|
||||
- virBufferAsprintf(&buf, ",vhostfd=%s%u", fdprefix, priv->vhostfd);
|
||||
+ virBufferAsprintf(&buf, ",vhostfd=%s%d", fdprefix, priv->vhostfd);
|
||||
if (qemuBuildDeviceAddressStr(&buf, def, &vsock->info, qemuCaps) < 0)
|
||||
return NULL;
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
70
qemu-fix-domain-start-with-corrupted-save-file.patch
Normal file
70
qemu-fix-domain-start-with-corrupted-save-file.patch
Normal file
@ -0,0 +1,70 @@
|
||||
From 8dcea1141c60ebc7c7a292b8112ca74a0ad56c46 Mon Sep 17 00:00:00 2001
|
||||
From: tangbin <tangbin_yewu@cmss.chinamobile.com>
|
||||
Date: Wed, 23 Nov 2022 15:03:37 +0200
|
||||
Subject: [PATCH 03/23] qemu: fix domain start with corrupted save file
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Commit 21ad56e932 introduced a regression where a VM with a corrupted
|
||||
save image file would fail to start on the first attempt. This was
|
||||
caused by returning a wrong return code as 'fd' was abused to also hold
|
||||
the return code.
|
||||
|
||||
Since it's easy to miss this nuance, introduce a 'ret' variable for the
|
||||
return code and return it' value in the error section.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1791522
|
||||
|
||||
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
|
||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
Reviewed-by: Pavel Mores <pmores@redhat.com>
|
||||
|
||||
Signed-off-by: tangbin <tangbin_yewu@cmss.chinamobile.com>
|
||||
(cherry-pick from f76a57182046da59af5547a1c02094dc9d61ad88)
|
||||
---
|
||||
src/qemu/qemu_driver.c | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
|
||||
index a3617b4d73..10ddbba325 100644
|
||||
--- a/src/qemu/qemu_driver.c
|
||||
+++ b/src/qemu/qemu_driver.c
|
||||
@@ -6587,6 +6587,7 @@ qemuDomainSaveImageOpen(virQEMUDriverPtr driver,
|
||||
bool unlink_corrupt)
|
||||
{
|
||||
int fd = -1;
|
||||
+ int ret = -1;
|
||||
virQEMUSaveDataPtr data = NULL;
|
||||
virQEMUSaveHeaderPtr header;
|
||||
virDomainDefPtr def = NULL;
|
||||
@@ -6622,7 +6623,7 @@ qemuDomainSaveImageOpen(virQEMUDriverPtr driver,
|
||||
_("cannot remove corrupt file: %s"),
|
||||
path);
|
||||
} else {
|
||||
- fd = -3;
|
||||
+ ret = -3;
|
||||
}
|
||||
} else {
|
||||
virReportError(VIR_ERR_OPERATION_FAILED,
|
||||
@@ -6643,7 +6644,7 @@ qemuDomainSaveImageOpen(virQEMUDriverPtr driver,
|
||||
_("cannot remove corrupt file: %s"),
|
||||
path);
|
||||
} else {
|
||||
- fd = -3;
|
||||
+ ret = -3;
|
||||
}
|
||||
goto error;
|
||||
}
|
||||
@@ -6712,7 +6713,7 @@ qemuDomainSaveImageOpen(virQEMUDriverPtr driver,
|
||||
virDomainDefFree(def);
|
||||
virQEMUSaveDataFree(data);
|
||||
VIR_FORCE_CLOSE(fd);
|
||||
- return -1;
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
static int ATTRIBUTE_NONNULL(4) ATTRIBUTE_NONNULL(5) ATTRIBUTE_NONNULL(6)
|
||||
--
|
||||
2.27.0
|
||||
|
||||
34
qemu-fix-memleak-in-qemuDomainAttachDeviceLive.patch
Normal file
34
qemu-fix-memleak-in-qemuDomainAttachDeviceLive.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From d1c3b60ebbfe0fad5372cf2940b366f00548a4fe Mon Sep 17 00:00:00 2001
|
||||
From: tangbinzy <tangbin_yewu@cmss.chinamobile.com>
|
||||
Date: Wed, 23 Nov 2022 10:00:57 +0000
|
||||
Subject: [PATCH 07/23] qemu: fix memleak in qemuDomainAttachDeviceLive()
|
||||
During disk hot plugging, qemuDomainAttachDeviceLive() adds the new disk to
|
||||
the device list of the VM object. However, hot plugging cdroms and floppies
|
||||
only updates the src variable of the original disk device, so the newly
|
||||
generated disk object needs to be freed.
|
||||
|
||||
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
|
||||
Signed-off-by: tangbin <tangbin_yewu@cmss.chinamobile.com>
|
||||
(cherry-pick from 2f470a4fb1edbe2da702e398314b9db201bb991e)
|
||||
---
|
||||
src/qemu/qemu_hotplug.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
|
||||
index d7bcb6a99f..c9347bac04 100644
|
||||
--- a/src/qemu/qemu_hotplug.c
|
||||
+++ b/src/qemu/qemu_hotplug.c
|
||||
@@ -1115,6 +1115,7 @@ qemuDomainAttachDeviceDiskLive(virQEMUDriverPtr driver,
|
||||
return -1;
|
||||
|
||||
disk->src = NULL;
|
||||
+ virDomainDiskDefFree(disk);
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
56
qemu-fix-null-string-specifier-argument-in-qemuDomai.patch
Normal file
56
qemu-fix-null-string-specifier-argument-in-qemuDomai.patch
Normal file
@ -0,0 +1,56 @@
|
||||
From be8bbeb7368db79f3a2e0502a772daf951089357 Mon Sep 17 00:00:00 2001
|
||||
From: wangmeiyang <wangmeiyang_yewu@cmss.chinamobile.com>
|
||||
Date: Wed, 23 Nov 2022 14:46:20 +0800
|
||||
Subject: [PATCH 02/23] qemu: fix null string specifier argument in
|
||||
qemuDomainBlockJobAbort
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Detected by gcc 11 -Wformat-overflow:
|
||||
../../src/qemu/qemu_driver.c: In function ‘qemuDomainBlockJobAbort’:
|
||||
../../src/util/virerror.h:176:5: warning: ‘%s’ directive argument is null [-Wformat-overflow=]
|
||||
176 | virReportErrorHelper(VIR_FROM_THIS, code, __FILE__, \
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
177 | __FUNCTION__, __LINE__, __VA_ARGS__)
|
||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
../../src/qemu/qemu_driver.c:14475:17: note: in expansion of macro ‘virReportError’
|
||||
14475 | virReportError(VIR_ERR_OPERATION_FAILED,
|
||||
| ^~~~~~~~~~~~~~
|
||||
../../src/qemu/qemu_driver.c:14476:73: note: format string is defined here
|
||||
14476 | _("block job '%s' failed while pivoting: %s"),
|
||||
| ^~
|
||||
cherry-pick from 8c6fa38efca52adabec48989fd6e4244a44859a5
|
||||
|
||||
Signed-off-by: Scott Davis <scott.davis@starlab.io>
|
||||
Signed-off-by: Meiyang Wang <wangmeiyang@cmss.chinamobile.com>
|
||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
---
|
||||
src/qemu/qemu_driver.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
|
||||
index a3617b4d73..167b74acfd 100644
|
||||
--- a/src/qemu/qemu_driver.c
|
||||
+++ b/src/qemu/qemu_driver.c
|
||||
@@ -17590,13 +17590,13 @@ qemuDomainBlockJobAbort(virDomainPtr dom,
|
||||
if (pivot &&
|
||||
job->state == QEMU_BLOCKJOB_STATE_FAILED) {
|
||||
if (job->errmsg) {
|
||||
- virReportError(VIR_ERR_OPERATION_FAILED,
|
||||
- _("block job '%s' failed while pivoting"),
|
||||
- job->name);
|
||||
- } else {
|
||||
virReportError(VIR_ERR_OPERATION_FAILED,
|
||||
_("block job '%s' failed while pivoting: %s"),
|
||||
job->name, job->errmsg);
|
||||
+ } else {
|
||||
+ virReportError(VIR_ERR_OPERATION_FAILED,
|
||||
+ _("block job '%s' failed while pivoting"),
|
||||
+ job->name);
|
||||
}
|
||||
|
||||
ret = -1;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
52
qemuMigrationSrcWaitForSpice-Remove-return-value.patch
Normal file
52
qemuMigrationSrcWaitForSpice-Remove-return-value.patch
Normal file
@ -0,0 +1,52 @@
|
||||
From bd8b565057cacc69a0c0c4b2463ffab6c0cf395e Mon Sep 17 00:00:00 2001
|
||||
From: jipengfei <jipengfei_yewu@cmss.chinamobile.com>
|
||||
Date: Fri, 25 Nov 2022 02:19:55 +0800
|
||||
Subject: [PATCH 23/23] qemuMigrationSrcWaitForSpice: Remove return value
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
cherry-pick from b76c58081c69a8775dd46b014611b28f6ed2a1b2
|
||||
|
||||
The only caller doesn't check the return value and actually doesn't have
|
||||
one either. Remove the return value and adjust return statements.
|
||||
|
||||
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
|
||||
Signed-off-by: jipengfei <jipengfei_yewu@cmss.chinamobile.com>
|
||||
Reviewed-by: Erik Skultety <eskultet@redhat.com>
|
||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
---
|
||||
src/qemu/qemu_migration.c | 7 +++----
|
||||
1 file changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
|
||||
index d86325881e..1c48138ce3 100644
|
||||
--- a/src/qemu/qemu_migration.c
|
||||
+++ b/src/qemu/qemu_migration.c
|
||||
@@ -1426,20 +1426,19 @@ qemuMigrationAnyPostcopyFailed(virQEMUDriverPtr driver,
|
||||
}
|
||||
|
||||
|
||||
-static int
|
||||
+static void
|
||||
qemuMigrationSrcWaitForSpice(virDomainObjPtr vm)
|
||||
{
|
||||
qemuDomainObjPrivatePtr priv = vm->privateData;
|
||||
|
||||
if (!priv->job.spiceMigration)
|
||||
- return 0;
|
||||
+ return;
|
||||
|
||||
VIR_DEBUG("Waiting for SPICE to finish migration");
|
||||
while (!priv->job.spiceMigrated && !priv->job.abortJob) {
|
||||
if (virDomainObjWait(vm) < 0)
|
||||
- return -1;
|
||||
+ return;
|
||||
}
|
||||
- return 0;
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
32
qemu_driver-Fix-indentation-in-qemuDomainGetStatsVcp.patch
Normal file
32
qemu_driver-Fix-indentation-in-qemuDomainGetStatsVcp.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From 97fce13e1086431f9f16c976706ee30daf297d51 Mon Sep 17 00:00:00 2001
|
||||
From: Xu Zheng <xuzheng_yewu@cmss.chinamobile.com>
|
||||
Date: Thu, 24 Nov 2022 17:22:37 +0800
|
||||
Subject: [PATCH 17/23] qemu_driver: Fix indentation in qemuDomainGetStatsVcpu
|
||||
|
||||
cherry-pick from d057b0bfc48e31f5c4d27830d2f91ed4f1d7180c
|
||||
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
|
||||
Signed-off-by: Xu Zheng <xuzheng_yewu@cmss.chinamobile.com>
|
||||
---
|
||||
src/qemu/qemu_driver.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
|
||||
index 1f70178c88..854b56a563 100644
|
||||
--- a/src/qemu/qemu_driver.c
|
||||
+++ b/src/qemu/qemu_driver.c
|
||||
@@ -21043,9 +21043,9 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr driver,
|
||||
|
||||
if (HAVE_JOB(privflags) && virDomainObjIsActive(dom) &&
|
||||
qemuDomainRefreshVcpuHalted(driver, dom, QEMU_ASYNC_JOB_NONE) < 0) {
|
||||
- /* it's ok to be silent and go ahead, because halted vcpu info
|
||||
- * wasn't here from the beginning */
|
||||
- virResetLastError();
|
||||
+ /* it's ok to be silent and go ahead, because halted vcpu info
|
||||
+ * wasn't here from the beginning */
|
||||
+ virResetLastError();
|
||||
}
|
||||
|
||||
if (qemuDomainHelperGetVcpus(dom, cpuinfo, cpuwait,
|
||||
--
|
||||
2.27.0
|
||||
|
||||
30
util-Drop-pointless-NUL_TERMINATE-macro.patch
Normal file
30
util-Drop-pointless-NUL_TERMINATE-macro.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 28781bb30db71760da3c88a5c34903ee1387d20b Mon Sep 17 00:00:00 2001
|
||||
From: Xu Zheng <xuzheng_yewu@cmss.chinamobile.com>
|
||||
Date: Thu, 24 Nov 2022 18:12:49 +0800
|
||||
Subject: [PATCH 21/23] util: Drop pointless NUL_TERMINATE macro
|
||||
|
||||
It's only used once and open coding it is at least as clear as using the
|
||||
macro.
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||
Signed-off-by: Xu Zheng <xuzheng_yewu@cmss.chinamobile.com>
|
||||
---
|
||||
src/internal.h | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/internal.h b/src/internal.h
|
||||
index a1068eb63b..302fddba34 100644
|
||||
--- a/src/internal.h
|
||||
+++ b/src/internal.h
|
||||
@@ -87,7 +87,6 @@
|
||||
#define STREQ_NULLABLE(a, b) (g_strcmp0(a, b) == 0)
|
||||
#define STRNEQ_NULLABLE(a, b) (g_strcmp0(a, b) != 0)
|
||||
|
||||
-#define NUL_TERMINATE(buf) do { (buf)[sizeof(buf)-1] = '\0'; } while (0)
|
||||
|
||||
#ifdef WIN32
|
||||
# ifndef O_CLOEXEC
|
||||
--
|
||||
2.27.0
|
||||
|
||||
58
util-fix-syslog-facility-value.patch
Normal file
58
util-fix-syslog-facility-value.patch
Normal file
@ -0,0 +1,58 @@
|
||||
From aaff56af24b3931e08b28a994a4953c1a0d1851b Mon Sep 17 00:00:00 2001
|
||||
From: wangmeiyang <wangmeiyang_yewu@cmss.chinamobile.com>
|
||||
Date: Wed, 23 Nov 2022 17:16:24 +0800
|
||||
Subject: [PATCH 05/23] util: fix syslog facility value
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
We set SYSLOG_PRIORITY when sending to journald to avoid our
|
||||
messages getting tagged with the default facility which is
|
||||
used for the kernel.
|
||||
|
||||
Unfortunately:
|
||||
|
||||
commit fd00f0e6c75b00c3d97be8670afcd9094b823855
|
||||
Author: Guido Günther <agx@sigxcpu.org>
|
||||
Date: Mon Sep 21 20:06:55 2015 +0200
|
||||
|
||||
Use daemon log facility for journald
|
||||
|
||||
used the LOG_nnn constants from the syslog header without realizing
|
||||
that these values have a bit-shift applied. While Linux defines a
|
||||
LOG_FAC() macros to undo the bit-shift this doesn't appear to be
|
||||
standardized. So the safe thing is to just use the raw value since
|
||||
these values are fixed by RFC 5424.
|
||||
|
||||
cherry-pick from 017fa1e097769455c0cd8929760cf9ff52a556ec
|
||||
|
||||
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
Signed-off-by: Meiyang Wang <wangmeiyang@cmss.chinamobile.com>
|
||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
---
|
||||
src/util/virlog.c | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/util/virlog.c b/src/util/virlog.c
|
||||
index e4944d1258..07d4eb4123 100644
|
||||
--- a/src/util/virlog.c
|
||||
+++ b/src/util/virlog.c
|
||||
@@ -932,7 +932,14 @@ virLogOutputToJournald(virLogSourcePtr source,
|
||||
journalAddString(&state, "MESSAGE", rawstr);
|
||||
journalAddInt(&state, "PRIORITY",
|
||||
virLogPrioritySyslog(priority));
|
||||
- journalAddInt(&state, "SYSLOG_FACILITY", LOG_DAEMON);
|
||||
+ /* See RFC 5424 section 6.2.1
|
||||
+ *
|
||||
+ * Don't use LOG_nnn constants as those have a bit-shift
|
||||
+ * applied for use with syslog() API, while journald
|
||||
+ * needs the raw value
|
||||
+ */
|
||||
+ journalAddInt(&state, "SYSLOG_FACILITY", 3);
|
||||
+
|
||||
journalAddString(&state, "LIBVIRT_SOURCE", source->name);
|
||||
if (filename)
|
||||
journalAddString(&state, "CODE_FILE", filename);
|
||||
--
|
||||
2.27.0
|
||||
|
||||
38
util-set-facility-when-opening-syslog-channel.patch
Normal file
38
util-set-facility-when-opening-syslog-channel.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From 20d0e6064cf81240dac3cccc89c2bd299cca210d Mon Sep 17 00:00:00 2001
|
||||
From: wangmeiyang <wangmeiyang_yewu@cmss.chinamobile.com>
|
||||
Date: Wed, 23 Nov 2022 17:25:58 +0800
|
||||
Subject: [PATCH 06/23] util: set facility when opening syslog channel
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
We're currently passing '0' which leaves the syslog facility
|
||||
unset. Since we're passing an explicit facility for syslog
|
||||
when using journald, it makes sense to be explicit when
|
||||
using syslog directly too.
|
||||
|
||||
cherry-pick from ab96031943d494010166875f399656a6c13aadf5
|
||||
|
||||
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
Signed-off-by: Meiyang Wang <wangmeiyang@cmss.chinamobile.com>
|
||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
---
|
||||
src/util/virlog.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/util/virlog.c b/src/util/virlog.c
|
||||
index e4944d1258..1b510389da 100644
|
||||
--- a/src/util/virlog.c
|
||||
+++ b/src/util/virlog.c
|
||||
@@ -1411,7 +1411,7 @@ virLogDefineOutputs(virLogOutputPtr *outputs, size_t noutputs)
|
||||
tmp = g_strdup(outputs[id]->name);
|
||||
VIR_FREE(current_ident);
|
||||
current_ident = tmp;
|
||||
- openlog(current_ident, 0, 0);
|
||||
+ openlog(current_ident, 0, LOG_DAEMON);
|
||||
}
|
||||
#endif /* HAVE_SYSLOG_H */
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
36
virDomainCheckpointCreateXML-Don-t-use-HTML-in-funct.patch
Normal file
36
virDomainCheckpointCreateXML-Don-t-use-HTML-in-funct.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From b8b8276707d6bf8cba80f4f6359731f23db73ba6 Mon Sep 17 00:00:00 2001
|
||||
From: jipengfei <jipengfei_yewu@cmss.chinamobile.com>
|
||||
Date: Thu, 24 Nov 2022 18:03:56 +0800
|
||||
Subject: [PATCH 22/23] virDomainCheckpointCreateXML: Don't use HTML in
|
||||
function docs and fix link
|
||||
|
||||
cherry-pick from 35fc11139ec9f077a30e1c8b97effc28f8822e9b
|
||||
|
||||
Fix the link target after the conversion of the XML description to RST
|
||||
which renamed anchors and drop the <a> tag from the C code comment.
|
||||
Apart from not working properly in the .c file it didn't work in the
|
||||
generated docs either as the brackets were escaped.
|
||||
|
||||
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
|
||||
Signed-off-by: jipengfei <jipengfei_yewu@cmss.chinamobile.com>
|
||||
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
|
||||
---
|
||||
src/libvirt-domain-checkpoint.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libvirt-domain-checkpoint.c b/src/libvirt-domain-checkpoint.c
|
||||
index 432c2d5a52..64bf5b323b 100644
|
||||
--- a/src/libvirt-domain-checkpoint.c
|
||||
+++ b/src/libvirt-domain-checkpoint.c
|
||||
@@ -108,7 +108,7 @@ virDomainCheckpointGetConnect(virDomainCheckpointPtr checkpoint)
|
||||
* kicking off a backup job with virDomainBackupBegin(); however, it
|
||||
* is also possible to start a checkpoint without a backup.
|
||||
*
|
||||
- * See <a href="formatcheckpoint.html#CheckpointAttributes">Checkpoint XML</a>
|
||||
+ * See https://www.libvirt.org/formatcheckpoint.html#checkpoint-xml
|
||||
* for more details on @xmlDesc. In particular, some hypervisors may require
|
||||
* particular disk formats, such as qcow2, in order to support this
|
||||
* command; where @xmlDesc can be used to limit the checkpoint to a working
|
||||
--
|
||||
2.27.0
|
||||
|
||||
51
vircgroupv1-fix-null-string-specifier-argument-in-vi.patch
Normal file
51
vircgroupv1-fix-null-string-specifier-argument-in-vi.patch
Normal file
@ -0,0 +1,51 @@
|
||||
From 164fb659e30346c7140bdda2bf9b47e59bdcebe9 Mon Sep 17 00:00:00 2001
|
||||
From: wangmeiyang <wangmeiyang_yewu@cmss.chinamobile.com>
|
||||
Date: Wed, 23 Nov 2022 10:28:49 +0800
|
||||
Subject: [PATCH 01/23] vircgroupv1: fix null string specifier argument in
|
||||
virCgroupV1ValidatePlacement
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Detected by gcc 11 -Wformat-overflow:
|
||||
../../src/util/vircgroupv1.c: In function ‘virCgroupV1ValidatePlacement’:
|
||||
../../src/util/virerror.h:176:5: warning: ‘%s’ directive argument is null [-Wformat-overflow=]
|
||||
176 | virReportErrorHelper(VIR_FROM_THIS, code, __FILE__, \
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
177 | __FUNCTION__, __LINE__, __VA_ARGS__)
|
||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
../../src/util/vircgroupv1.c:411:13: note: in expansion of macro ‘virReportError’
|
||||
411 | virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
| ^~~~~~~~~~~~~~
|
||||
../../src/util/vircgroupv1.c:412:80: note: format string is defined here
|
||||
412 | _("Could not find placement for v1 controller %s at %s"),
|
||||
| ^~
|
||||
|
||||
cherry-pick from 8833b42f3b092c1b401109ddf174ea1dbb1eb8c6
|
||||
|
||||
Signed-off-by: Scott Davis <scott.davis@starlab.io>
|
||||
Signed-off-by: Meiyang Wang <wangmeiyang@cmss.chinamobile.com>
|
||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
---
|
||||
src/util/vircgroupv1.c | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/util/vircgroupv1.c b/src/util/vircgroupv1.c
|
||||
index 5504441fa6..f5a96bd736 100644
|
||||
--- a/src/util/vircgroupv1.c
|
||||
+++ b/src/util/vircgroupv1.c
|
||||
@@ -376,9 +376,8 @@ virCgroupV1ValidatePlacement(virCgroupPtr group,
|
||||
|
||||
if (!group->legacy[i].placement) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
- _("Could not find placement for v1 controller %s at %s"),
|
||||
- virCgroupV1ControllerTypeToString(i),
|
||||
- group->legacy[i].placement);
|
||||
+ _("Could not find placement for v1 controller %s"),
|
||||
+ virCgroupV1ControllerTypeToString(i));
|
||||
return -1;
|
||||
}
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
40
vircgroupv2devices-fix-counting-entries-in-BPF-map.patch
Normal file
40
vircgroupv2devices-fix-counting-entries-in-BPF-map.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From f268a97669b2871735fb0a2bb9cda275bf8c204f Mon Sep 17 00:00:00 2001
|
||||
From: tangbinzy <tangbin_yewu@cmss.chinamobile.com>
|
||||
Date: Thu, 24 Nov 2022 02:45:01 +0000
|
||||
Subject: [PATCH 13/23] vircgroupv2devices: fix counting entries in BPF map
|
||||
BPF syscall BPF_MAP_GET_NEXT_KEY returns -1 if something fails but it will
|
||||
also return -1 if trying to get next key using the last key in the map with
|
||||
errno set to ENOENT.
|
||||
|
||||
If there are VMs running and libvirtd is restarted and user tries to
|
||||
call some cgroup devices operation on a VM we need to get the count of
|
||||
entries in BPF map and it fails which will result in error when trying
|
||||
to attach/detech devices.
|
||||
|
||||
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1833321
|
||||
|
||||
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
|
||||
Reviewed-by: Erik Skultety <eskultet@redhat.com>
|
||||
|
||||
Signed-off-by: tangbin <tangbin_yewu@cmss.chinamobile.com>
|
||||
(cherry-pick from 7e574d1a079bd13aeeedb7024cc45f85b1843fcc)
|
||||
---
|
||||
src/util/vircgroupv2devices.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/util/vircgroupv2devices.c b/src/util/vircgroupv2devices.c
|
||||
index d62ee12a05..234e0f2278 100644
|
||||
--- a/src/util/vircgroupv2devices.c
|
||||
+++ b/src/util/vircgroupv2devices.c
|
||||
@@ -342,7 +342,7 @@ virCgroupV2DevicesCountMapEntries(int mapfd)
|
||||
prevKey = key;
|
||||
}
|
||||
|
||||
- if (rc < 0)
|
||||
+ if (rc < 0 && errno != ENOENT)
|
||||
return -1;
|
||||
|
||||
return ret;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
30
virsh-Fix-typo-of-metadata.patch
Normal file
30
virsh-Fix-typo-of-metadata.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From ddd1504fd4b0e779e42ec72b49ad1b1c485021cd Mon Sep 17 00:00:00 2001
|
||||
From: tangbin <tangbin_yewu@cmss.chinamobile.com>
|
||||
Date: Wed, 23 Nov 2022 16:00:29 +0200
|
||||
Subject: [PATCH 10/23] virsh: Fix typo of metadata
|
||||
|
||||
Signed-off-by: Han Han <hhan@redhat.com>
|
||||
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
|
||||
Signed-off-by: tangbin <tangbin_yewu@cmss.chinamobile.com>
|
||||
(cherry-pick from f57a8cd3df0167d72b87fdd868a287608a741b73)
|
||||
---
|
||||
tools/virsh-domain.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
|
||||
index 8db1362314..50568203aa 100644
|
||||
--- a/tools/virsh-domain.c
|
||||
+++ b/tools/virsh-domain.c
|
||||
@@ -13558,7 +13558,7 @@ virshEventMetadataChangePrint(virConnectPtr conn G_GNUC_UNUSED,
|
||||
{
|
||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||
|
||||
- virBufferAsprintf(&buf, _("event 'metdata-change' for domain %s: %s %s\n"),
|
||||
+ virBufferAsprintf(&buf, _("event 'metadata-change' for domain %s: %s %s\n"),
|
||||
virDomainGetName(dom),
|
||||
UNKNOWNSTR(virshEventMetadataChangeTypeTypeToString(type)),
|
||||
NULLSTR(nsuri));
|
||||
--
|
||||
2.27.0
|
||||
|
||||
76
virsh-cmdBlock-Remove-error-prefix-for-an-empty-line.patch
Normal file
76
virsh-cmdBlock-Remove-error-prefix-for-an-empty-line.patch
Normal file
@ -0,0 +1,76 @@
|
||||
From 72d16dabd48f8916e7296f19ec48ff3109a040c1 Mon Sep 17 00:00:00 2001
|
||||
From: tangbin <tangbin_yewu@cmss.chinamobile.com>
|
||||
Date: Wed, 23 Nov 2022 16:00:29 +0200
|
||||
Subject: [PATCH 11/23] virsh: cmdBlock*: Remove 'error:' prefix for an empty
|
||||
line
|
||||
|
||||
When a block copy job fails prior to reaching the synchronized phase
|
||||
while we are waiting for the job to finish virsh would print the
|
||||
following:
|
||||
|
||||
$ virsh blockcopy backup-test vda /tmp/dst.qcow2 --wait --reuse-external --transient-job
|
||||
error:
|
||||
Copy failed
|
||||
|
||||
The above message looks like we've forgot to print the error message
|
||||
itself as the line ends after 'error:'. Unfortunately with the current
|
||||
API design clients have no way of actually getting the error message as
|
||||
the VIR_DOMAIN_EVENT_ID_BLOCK_JOB(_2) event only reports the status but
|
||||
not an error and the job then vanishes.
|
||||
|
||||
Fix the expectations by using vshPrintExtra instead of vshError:
|
||||
|
||||
$ virsh blockcopy backup-test vda /tmp/dst.qcow2 --wait --reuse-external --transient-job
|
||||
|
||||
Copy failed
|
||||
|
||||
Note that the newline is required to avoid printing the 'Copy failed'
|
||||
message on the same line when printing the job progress percentage.
|
||||
|
||||
Inspired by https://bugzilla.redhat.com/show_bug.cgi?id=1847867
|
||||
|
||||
Fix the same issue also for block pull and block commit job
|
||||
|
||||
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
|
||||
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
|
||||
Signed-off-by: tangbin <tangbin_yewu@cmss.chinamobile.com>
|
||||
(cherry-pick from fc09f3d823aba430d38db0d5ba8cdc5b0a71b9e5)
|
||||
---
|
||||
tools/virsh-domain.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
|
||||
index 50568203aa..7033232015 100644
|
||||
--- a/tools/virsh-domain.c
|
||||
+++ b/tools/virsh-domain.c
|
||||
@@ -2140,7 +2140,7 @@ cmdBlockcommit(vshControl *ctl, const vshCmd *cmd)
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_BLOCK_JOB_FAILED:
|
||||
- vshError(ctl, "\n%s", _("Commit failed"));
|
||||
+ vshPrintExtra(ctl, "\n%s", _("Commit failed"));
|
||||
goto cleanup;
|
||||
break;
|
||||
|
||||
@@ -2457,7 +2457,7 @@ cmdBlockcopy(vshControl *ctl, const vshCmd *cmd)
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_BLOCK_JOB_FAILED:
|
||||
- vshError(ctl, "\n%s", _("Copy failed"));
|
||||
+ vshPrintExtra(ctl, "\n%s", _("Copy failed"));
|
||||
goto cleanup;
|
||||
break;
|
||||
|
||||
@@ -2865,7 +2865,7 @@ cmdBlockpull(vshControl *ctl, const vshCmd *cmd)
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_BLOCK_JOB_FAILED:
|
||||
- vshError(ctl, "\n%s", _("Pull failed"));
|
||||
+ vshPrintExtra(ctl, "\n%s", _("Pull failed"));
|
||||
goto cleanup;
|
||||
break;
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
37
vmx-Require-networkName-for-bridged-and-custom-NICs.patch
Normal file
37
vmx-Require-networkName-for-bridged-and-custom-NICs.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From 6620c7cc62f11f1eda32c4b1c8006c0fdafb1c59 Mon Sep 17 00:00:00 2001
|
||||
From: jipengfei <jipengfei_yewu@cmss.chinamobile.com>
|
||||
Date: Thu, 24 Nov 2022 17:19:05 +0800
|
||||
Subject: [PATCH 18/23] vmx: Require networkName for bridged and custom NICs
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
cherry-pick from db0564b4d34fb94fe59f04a4e411374ec1b6fc19
|
||||
|
||||
Commit 70768cda9740 marked this particular config string optional, but
|
||||
forgot that two of the interface types still require this name to
|
||||
exist. Mark it as optional only if there is no connectionType.
|
||||
|
||||
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
|
||||
Signed-off-by: jipengfei <jipengfei_yewu@cmss.chinamobile.com>
|
||||
Reviewed-by: Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
---
|
||||
src/vmx/vmx.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
|
||||
index fbc8366f2b..5f2ada6630 100644
|
||||
--- a/src/vmx/vmx.c
|
||||
+++ b/src/vmx/vmx.c
|
||||
@@ -2667,7 +2667,7 @@ virVMXParseEthernet(virConfPtr conf, int controller, virDomainNetDefPtr *def)
|
||||
STRCASEEQ(connectionType, "bridged") ||
|
||||
STRCASEEQ(connectionType, "custom")) {
|
||||
if (virVMXGetConfigString(conf, networkName_name, &networkName,
|
||||
- true) < 0)
|
||||
+ connectionType == NULL) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (!networkName)
|
||||
--
|
||||
2.27.0
|
||||
|
||||
45
vshtabletest-Fix-potential-memleak.patch
Normal file
45
vshtabletest-Fix-potential-memleak.patch
Normal file
@ -0,0 +1,45 @@
|
||||
From e210025037fbd00c81e8faa0a5339dccdc0c75a1 Mon Sep 17 00:00:00 2001
|
||||
From: wangmeiyang <wangmeiyang_yewu@cmss.chinamobile.com>
|
||||
Date: Thu, 24 Nov 2022 09:10:25 +0800
|
||||
Subject: [PATCH 12/23] vshtabletest: Fix potential memleak
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
In testVshTableNew() we test whether vshTableNew(NULL) allocates
|
||||
a table. This is expected to fail (and return NULL), because
|
||||
passing nothing but NULL to vshTableNew() is viewed as error.
|
||||
Nevertheless, if vshTableNew() did not fail and returned an
|
||||
allocated table it would be leaked.
|
||||
|
||||
cherry-pick from eb9bbde7721af765d88086dc3055cff092436c58
|
||||
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Signed-off-by: Meiyang Wang <wangmeiyang_yewu@cmss.chinamobile.com>
|
||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
---
|
||||
tests/vshtabletest.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tests/vshtabletest.c b/tests/vshtabletest.c
|
||||
index 15369d8eb2..348f525234 100644
|
||||
--- a/tests/vshtabletest.c
|
||||
+++ b/tests/vshtabletest.c
|
||||
@@ -33,11 +33,12 @@
|
||||
static int
|
||||
testVshTableNew(const void *opaque G_GNUC_UNUSED)
|
||||
{
|
||||
- if (vshTableNew(NULL)) {
|
||||
+ vshTablePtr table = vshTableNew(NULL);
|
||||
+ if (table) {
|
||||
fprintf(stderr, "expected failure when passing null to vshTableNew\n");
|
||||
return -1;
|
||||
}
|
||||
-
|
||||
+ vshTableFree(table);
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user