[PATCH] qemu: Don't report error from domblkinfo if vm is inactive
by huangy81@chinatelecom.cn
From: Hyman Huang(黄勇) <huangy81(a)chinatelecom.cn>
Libvirt logs and reports error when executing domblkinfo if vm
configured rbd storage and in inactive state.
The steps to reproduce the problem:
1. define and start domain with its storage configured rbd disk,
and corresponding disk label is 'vda'.
2. set vm in inactive state.
3. call 'virsh domblklinfo' as the following and problem reproduced.
$ virsh domblkinfo vm1 vda
error: internal error: missing storage backend for network files using
rbd protocol
Meanwhile, libvirtd log message also report the same error.
To fix this, validate the disk type if vm is inactive before
refreshing capacity and allocation limits of a given storage source
in qemuDomainGetBlockInfo in advance, if storage source type is
VIR_STORAGE_TYPE_NETWORK and net protocol is
VIR_STORAGE_NET_PROTOCAOL_RBD, set info to 0 like 'domblkinfo --all'
command does and return directly.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1724808
Signed-off-by: Hyman Huang(黄勇) <huangy81(a)chinatelecom.cn>
Signed-off-by: Pengcheng Deng <dengpc12(a)chinatelecom.cn>
---
src/qemu/qemu_driver.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index c7cca64..bfe1fa2 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -11118,6 +11118,19 @@ qemuDomainGetBlockInfo(virDomainPtr dom,
/* for inactive domains we have to peek into the files */
if (!virDomainObjIsActive(vm)) {
+ /* for rbd protocol, virStorageFileBackend not loaded if vm is inactive,
+ * so generate 0 based info like 'domblkinfo --all' does and return directly
+ * */
+ if (virStorageSourceGetActualType(disk->src) == VIR_STORAGE_TYPE_NETWORK &&
+ disk->src->protocol == VIR_STORAGE_NET_PROTOCOL_RBD) {
+ info->capacity = 0;
+ info->allocation = 0;
+ info->physical = 0;
+
+ ret = 0;
+ goto endjob;
+ }
+
if ((qemuStorageLimitsRefresh(driver, cfg, vm, disk->src, false)) < 0)
goto endjob;
--
1.8.3.1
2 years, 7 months
[PATCH 0/2] Implement qemuDomainGetStatsCpu fallback for qemu:///session
by Michal Privoznik
*** BLURB HERE ***
Michal Prívozník (2):
util: Extend virProcessGetStatInfo() for sysTime and userTime
qemu: Implement qemuDomainGetStatsCpu fallback for qemu:///session
src/ch/ch_driver.c | 1 +
src/qemu/qemu_driver.c | 39 ++++++++++++++++++++++++++++++++++++---
src/util/virprocess.c | 30 +++++++++++++++++++++++-------
src/util/virprocess.h | 2 ++
4 files changed, 62 insertions(+), 10 deletions(-)
--
2.35.1
2 years, 7 months
[(pushed) PATCH] tests: qemuxml2argvdata: Remove two unused output files
by Peter Krempa
Commit d7ae7ce363aa51ab46 forgot to clean up unused error output files
'boot-dev+order.err' and 'boot-menu-enable-with-timeout-invalid'
after converting tests to DO_TEST_CAPS_LATEST.
Fixes: d7ae7ce363aa51ab4600261b5934075388843142
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
Pushed as trivial.
tests/qemuxml2argvdata/boot-dev+order.err | 1 -
tests/qemuxml2argvdata/boot-menu-enable-with-timeout-invalid.err | 1 -
2 files changed, 2 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/boot-dev+order.err
delete mode 100644 tests/qemuxml2argvdata/boot-menu-enable-with-timeout-invalid.err
diff --git a/tests/qemuxml2argvdata/boot-dev+order.err b/tests/qemuxml2argvdata/boot-dev+order.err
deleted file mode 100644
index aeb27ec0b8..0000000000
--- a/tests/qemuxml2argvdata/boot-dev+order.err
+++ /dev/null
@@ -1 +0,0 @@
-unsupported configuration: per-device boot elements cannot be used together with os/boot elements
diff --git a/tests/qemuxml2argvdata/boot-menu-enable-with-timeout-invalid.err b/tests/qemuxml2argvdata/boot-menu-enable-with-timeout-invalid.err
deleted file mode 100644
index 38c0be7818..0000000000
--- a/tests/qemuxml2argvdata/boot-menu-enable-with-timeout-invalid.err
+++ /dev/null
@@ -1 +0,0 @@
-unsupported configuration: invalid value for boot menu timeout, must be in range [0,65535]
--
2.37.1
2 years, 7 months
[libvirt PATCH 00/12] qemu: retire some more capabilities
by Ján Tomko
Applies on top of Peter's QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY series
Ján Tomko (12):
qemu: assume QEMU_CAPS_CHARDEV_FILE_APPEND
qemu: retire QEMU_CAPS_CHARDEV_FILE_APPEND
qemu: assume QEMU_CAPS_CHARDEV_LOGFILE
qemu: retire QEMU_CAPS_CHARDEV_LOGFILE
qemu: assume QEMU_CAPS_NEC_USB_XHCI_PORTS
qemu: retire QEMU_CAPS_NEC_USB_XHCI_PORTS
qemu: assume QEMU_CAPS_VIRTIO_SCSI_IOTHREAD
qemu: retire QEMU_CAPS_VIRTIO_SCSI_IOTHREAD
qemu: assume QEMU_CAPS_VIRTIO_PACKED_QUEUES
qemu: retire QEMU_CAPS_VIRTIO_PACKED_QUEUES
qemu: remove qemuValidateDomainVirtioOptions
qemu: do not probe for properties of nec-usb-xhci
src/qemu/qemu_capabilities.c | 25 +--
src/qemu/qemu_capabilities.h | 10 +-
src/qemu/qemu_command.c | 3 +-
src/qemu/qemu_process.c | 21 +-
src/qemu/qemu_validate.c | 80 +------
.../caps_4.2.0.aarch64.replies | 156 +++-----------
.../caps_4.2.0.aarch64.xml | 5 -
.../caps_4.2.0.ppc64.replies | 140 +++---------
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 4 -
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 4 -
.../caps_4.2.0.x86_64.replies | 168 ++++-----------
.../caps_4.2.0.x86_64.xml | 5 -
.../caps_5.0.0.aarch64.replies | 169 +++------------
.../caps_5.0.0.aarch64.xml | 5 -
.../caps_5.0.0.ppc64.replies | 165 +++-----------
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 5 -
.../caps_5.0.0.riscv64.replies | 153 +++----------
.../caps_5.0.0.riscv64.xml | 5 -
.../caps_5.0.0.x86_64.replies | 181 ++++------------
.../caps_5.0.0.x86_64.xml | 5 -
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 2 -
.../caps_5.1.0.x86_64.replies | 185 ++++------------
.../caps_5.1.0.x86_64.xml | 5 -
.../caps_5.2.0.aarch64.replies | 181 ++++------------
.../caps_5.2.0.aarch64.xml | 5 -
.../caps_5.2.0.ppc64.replies | 173 +++------------
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 5 -
.../caps_5.2.0.riscv64.replies | 161 +++-----------
.../caps_5.2.0.riscv64.xml | 5 -
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 4 -
.../caps_5.2.0.x86_64.replies | 193 ++++-------------
.../caps_5.2.0.x86_64.xml | 5 -
.../caps_6.0.0.aarch64.replies | 191 ++++------------
.../caps_6.0.0.aarch64.xml | 5 -
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 4 -
.../caps_6.0.0.x86_64.replies | 203 ++++--------------
.../caps_6.0.0.x86_64.xml | 5 -
.../caps_6.1.0.x86_64.replies | 203 ++++--------------
.../caps_6.1.0.x86_64.xml | 5 -
.../caps_6.2.0.aarch64.replies | 191 ++++------------
.../caps_6.2.0.aarch64.xml | 5 -
.../caps_6.2.0.ppc64.replies | 183 +++-------------
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 5 -
.../caps_6.2.0.x86_64.replies | 203 ++++--------------
.../caps_6.2.0.x86_64.xml | 5 -
.../caps_7.0.0.aarch64.replies | 195 ++++-------------
.../caps_7.0.0.aarch64.xml | 5 -
.../caps_7.0.0.ppc64.replies | 183 +++-------------
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 5 -
.../caps_7.0.0.x86_64.replies | 203 ++++--------------
.../caps_7.0.0.x86_64.xml | 5 -
.../caps_7.1.0.x86_64.replies | 203 ++++--------------
.../caps_7.1.0.x86_64.xml | 5 -
.../virtio-options-controller-packed.err | 1 -
.../virtio-options-disk-packed.err | 1 -
.../virtio-options-fs-packed.err | 1 -
.../virtio-options-input-packed.err | 1 -
.../virtio-options-memballoon-packed.err | 1 -
.../virtio-options-net-packed.err | 1 -
.../virtio-options-rng-packed.err | 1 -
.../virtio-options-video-packed.err | 1 -
tests/qemuxml2argvtest.c | 28 +--
tests/qemuxml2xmltest.c | 1 -
63 files changed, 811 insertions(+), 3471 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/virtio-options-controller-packed.err
delete mode 100644 tests/qemuxml2argvdata/virtio-options-disk-packed.err
delete mode 100644 tests/qemuxml2argvdata/virtio-options-fs-packed.err
delete mode 100644 tests/qemuxml2argvdata/virtio-options-input-packed.err
delete mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-packed.err
delete mode 100644 tests/qemuxml2argvdata/virtio-options-net-packed.err
delete mode 100644 tests/qemuxml2argvdata/virtio-options-rng-packed.err
delete mode 100644 tests/qemuxml2argvdata/virtio-options-video-packed.err
--
2.37.1
2 years, 7 months
[PATCH 0/7] Clean up virFileIsSharedFSType
by Peter Krempa
Few cleanups for problems I've noticed when I had to understand how the
shared FS detection is supposed to work.
Peter Krempa (7):
util: virFileIsSharedFSType: Pass bitmap of checked fs types as
unsigned
util: virFileIsSharedFSType: Annotate (some) shared filesystem names
util: virFileIsSharedFixFUSE: Refactor cleanup
util: virfile: Rewrite matching of FUSE-based shared filesystems
util: virfile: Don't use VIR_FILE_SHFS_GFS2 for glusterfs
util: virfile: Drop QB_MAGIC constant
util: virFileIsSharedFSType: Simplify shared fs type declarations
src/util/virfile.c | 139 +++++++++++++++++++++------------------------
src/util/virfile.h | 19 ++++---
2 files changed, 76 insertions(+), 82 deletions(-)
--
2.37.1
2 years, 7 months
[libvirt] [PATCH 0/2] Minor fixes for maxphysaddr
by Lin Ma
Lin Ma (2):
docs: Fix missing slashes in the maxphysaddr example
qemu: Remove host-passthrough validation check for host-phys-bits=on
docs/formatdomain.rst | 4 ++--
src/qemu/qemu_validate.c | 7 -------
2 files changed, 2 insertions(+), 9 deletions(-)
--
2.26.2
2 years, 7 months
Slow live migration
by Ignazio Cassano
Hello, I am using openstack rdo with kvm libvirt.
Live migration is very slow when the vm is using ram intensively. If I
migrate a vm that has been running on a host for a few days, it takes
several minutes to migrate the memory. After the first migration, I
immediately try another one on the same vm, it takes very little. I think
it's due to the fragmentation of the pages: is there any remedy?
Thanks
Ignazio
2 years, 7 months
[libvirt PATCH 0/3] Ensure synchronous behavior of migrate_cancel
by Jiri Denemark
See 3/3 for details.
Jiri Denemark (3):
qemu: Rename qemuMigrationSrcCancel
qemu: Create wrapper for qemuMonitorMigrateCancel
qemu: Make qemuMigrationSrcCancel optionally synchronous
src/qemu/qemu_driver.c | 9 +----
src/qemu/qemu_migration.c | 76 +++++++++++++++++++++++++++++++--------
src/qemu/qemu_migration.h | 7 +++-
src/qemu/qemu_process.c | 7 ++--
4 files changed, 70 insertions(+), 29 deletions(-)
--
2.37.2
2 years, 7 months
[PATCH 0/2] Update CI and news after sheepdog removal
by Peter Krempa
Peter Krempa (2):
ci: Regenerate dockerfiles after 'sheepdog' removal
NEWS: Mention removal of the sheepdog storage driver backend
NEWS.rst | 6 ++++++
ci/containers/fedora-35.Dockerfile | 1 -
ci/containers/fedora-36-cross-mingw32.Dockerfile | 3 +--
ci/containers/fedora-36-cross-mingw64.Dockerfile | 3 +--
ci/containers/fedora-36.Dockerfile | 1 -
ci/containers/fedora-rawhide-cross-mingw32.Dockerfile | 3 +--
ci/containers/fedora-rawhide-cross-mingw64.Dockerfile | 3 +--
ci/containers/fedora-rawhide.Dockerfile | 1 -
8 files changed, 10 insertions(+), 11 deletions(-)
--
2.37.1
2 years, 7 months
[PATCH] cpu_map: Introduce A64FX
by Liu Yiding
Add A64FX as a supported cpu model.
Signed-off-by: Liu Yiding <liuyd.fnst(a)fujitsu.com>
---
src/cpu_map/arm_A64FX.xml | 6 ++++++
src/cpu_map/arm_vendors.xml | 1 +
src/cpu_map/index.xml | 3 +++
src/cpu_map/meson.build | 1 +
4 files changed, 11 insertions(+)
create mode 100644 src/cpu_map/arm_A64FX.xml
diff --git a/src/cpu_map/arm_A64FX.xml b/src/cpu_map/arm_A64FX.xml
new file mode 100644
index 0000000000..db7b328cd1
--- /dev/null
+++ b/src/cpu_map/arm_A64FX.xml
@@ -0,0 +1,6 @@
+<cpus>
+ <model name='a64fx'>
+ <vendor name='FUJITSU'/>
+ <pvr value='0x001'/>
+ </model>
+</cpus>
diff --git a/src/cpu_map/arm_vendors.xml b/src/cpu_map/arm_vendors.xml
index 4465463b5b..b10c07815a 100644
--- a/src/cpu_map/arm_vendors.xml
+++ b/src/cpu_map/arm_vendors.xml
@@ -3,6 +3,7 @@
<vendor name='Broadcom' value='0x42'/>
<vendor name='Cavium' value='0x43'/>
<vendor name='DigitalEquipment' value='0x44'/>
+ <vendor name='FUJITSU' value='0x46'/>
<vendor name='HiSilicon' value='0x48'/>
<vendor name='Infineon' value='0x49'/>
<vendor name='Freescale' value='0x4D'/>
diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
index 351c2ae4fa..44534f067a 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -104,6 +104,9 @@
<!-- Cavium-based CPU models -->
<include filename='arm_ThunderX299xx.xml'/>
+ <!-- Fujitsu-based CPU models -->
+ <include filename='arm_A64FX.xml'/>
+
<!-- Hisilicon-based CPU models -->
<include filename='arm_Kunpeng-920.xml'/>
diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build
index 99815981b5..af7e5bc9f3 100644
--- a/src/cpu_map/meson.build
+++ b/src/cpu_map/meson.build
@@ -1,4 +1,5 @@
cpumap_data = [
+ 'arm_A64FX.xml',
'arm_cortex-a53.xml',
'arm_cortex-a57.xml',
'arm_cortex-a72.xml',
--
2.34.1
2 years, 7 months