[PATCH 0/2] qemu: Check if driver is still available in qemuStateStop()
by Michal Privoznik
The second patch is the interesting one.
Michal Prívozník (2):
DO NOT MERGE
qemu: Check if driver is still available in qemuStateStop()
src/qemu/qemu_driver.c | 7 ++++-
src/remote/remote_daemon.c | 64 +++++++++++++++++++++-----------------
2 files changed, 42 insertions(+), 29 deletions(-)
--
2.26.2
4 years
[libvirt PATCH] util: Make virFileClose() quiet on success
by Andrea Bolognani
While it's certainly good to log events like "failed to close fd"
and "tried to close invalid fd", which are likely to be the
consequence of some bug in libvirt, logging a message every single
time a file descriptor is closed successfully is perhaps excessive
and can lead to useful information being missed among the noise.
Log filters don't help in this situation, because filtering out all
of util.file is too big a hammer and would cause important messages
to be left out as well.
To give an idea of just how much noise this single debug statement
can cause, here's a real life example from a quite large libvirtd
log I had to look at recently:
$ grep virFile libvirt.log | wc -l
1307
$ grep virFile libvirt.log | grep -v 'Closed fd' | wc -l
343
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
src/util/virfile.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/util/virfile.c b/src/util/virfile.c
index 9a7dcfc9a6..f57272ca2f 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -131,8 +131,6 @@ int virFileClose(int *fdptr, virFileCloseFlags flags)
VIR_DEBUG("Failed to close fd %d: %s",
*fdptr, g_strerror(errno));
}
- } else {
- VIR_DEBUG("Closed fd %d", *fdptr);
}
}
*fdptr = -1;
--
2.26.2
4 years
[PATCH v2 0/6] hyperv: implement vCPU APIs
by Matt Coleman
Changes since v1:
* use an enum for the real CPU constants
* remove the forward declaration
Here's a GitLab merge request, if you'd prefer to review it there:
https://gitlab.com/iammattcoleman/libvirt/-/merge_requests/11
Matt Coleman (6):
domain: introduce constants for virVcpuInfo->cpu state values
hyperv: implement domainGetVcpus
hyperv: implement domainGetVcpusFlags
hyperv: implement domainGetMaxVcpus
hyperv: implement domainSetVcpus and domainSetVcpusFlags
news: implement vCPU APIs in the Hyper-V driver
NEWS.rst | 8 +-
include/libvirt/libvirt-domain.h | 7 +-
src/hyperv/hyperv_driver.c | 175 +++++++++++++++++++++++++++++++
3 files changed, 186 insertions(+), 4 deletions(-)
--
2.27.0
4 years
[PATCH 0/6] hyperv: implement vCPU APIs
by Matt Coleman
Here's a GitLab merge request, if you'd prefer to review it there:
https://gitlab.com/iammattcoleman/libvirt/-/merge_requests/10
Matt Coleman (6):
domain: introduce constants for virVcpuInfo->cpu state values
hyperv: implement domainGetVcpus
hyperv: implement domainGetVcpusFlags
hyperv: implement domainGetMaxVcpus
hyperv: implement domainSetVcpus and domainSetVcpusFlags
news: implement vCPU APIs in the Hyper-V driver
NEWS.rst | 8 +-
include/libvirt/libvirt-domain.h | 16 ++-
src/hyperv/hyperv_driver.c | 180 +++++++++++++++++++++++++++++++
3 files changed, 200 insertions(+), 4 deletions(-)
--
2.27.0
4 years
[PATCH 0/8] tools: vsh: Fix validation of command parameter lists
by Peter Krempa
Recent patch:
https://www.redhat.com/archives/libvir-list/2020-November/msg00555.html
passes build check but then virsh complains when started that the
command list is wrong.
Fix it by moving the check to the appropriate place.
You can use the above patch as reproducer.
Peter Krempa (8):
tools: vsh: Unexport vshCmddefHelp
tools: vshCmddefCheckInternals: Add parameter name to error message
tools: vshCmddefCheckInternals: Port mandatory options check from
vshCmddefOptParse
tools: cmdSelfTest: Drop misleading comment
tools: vshCmddefOptParse: Remove 'optional' command validation
tools: vshCmddefHelp: Don't call vshCmddefOptParse
tools: vshCmddefOptParse: Remove return value
tools: virsh: Reset error when keepalive registration fails
tools/virsh.c | 1 +
tools/vsh.c | 108 +++++++++++++++++++++-----------------------------
tools/vsh.h | 1 -
3 files changed, 47 insertions(+), 63 deletions(-)
--
2.28.0
4 years
[PATCH 00/28] a bunch of domain_conf cleanup
by Matt Coleman
Most of this is making functions void that unnecessarily return an int.
It also includes some conversion to GLib.
Feel free to squash related commits, if you'd like. I left them separate
to make it easier to review.
Matt Coleman (28):
domain_conf: make virDomainDiskSetDriver() void
domain_conf: make virDomainPostParseCheckISCSIPath() void
domain_conf: use g_free() in virDomainPostParseCheckISCSIPath()
domain_conf: make virDomainHostdevAssignAddress() void
domain_conf: make virDomainChr/RNG/Video/VsockDefPostParse() and
virDomainNVRAMDefFormat() void
domain_conf: make virDomainDeviceInfoFormat() void
domain_conf: make virDomainGraphicsDefParseXMLEGLHeadless() void
domain_conf: make virDomainLeaseDefFormat() void
domain_conf: make virDomainDiskSourceFormatNetwork() void
domain_conf: make virDomainDiskDefFormatIotune() void
domain_conf: make virDomainDiskDefFormatDriver() void
domain_conf: make virDomainControllerDriverFormat() void
domain_conf: make virDomainVirtioNetGuestOpts/HostOpts/DriverFormat()
void
domain_conf: make virDomainRedirFilterDefFormat() void
domain_conf: make virDomainIOMMUDefFormat() void
domain_conf: make virDomainDefFormatBlkiotune() void
domain_conf: make virDomainChrSourceDefFormat() void
domain_conf: make virDomainDiskSetBlockIOTune() void
domain_conf: use g_free in virDomainDiskSetBlockIOTune()
domain_conf: use g_renew in virDomainDiskInsert() and
virDomainControllerInsert()
domain_conf: make virDomainDiskInsert() void
domain_conf: make virDomainControllerInsert() void
domain_conf: use g_renew in virDomainLeaseInsertPreAlloc()
domain_conf: make virDomainLeaseInsertPreAlloc() void
domain_conf: make virDomainLeaseInsert() void
domain_conf: make virDomainPanicDefFormat() void
domain_conf: make virDomainShmemDefFormat() void
domain_conf: make virDomainVsockDefFormat() void
src/conf/domain_conf.c | 349 ++++++++++++++-------------------------
src/conf/domain_conf.h | 21 +--
src/libxl/libxl_conf.c | 5 +-
src/libxl/libxl_domain.c | 5 +-
src/libxl/libxl_driver.c | 9 +-
src/libxl/xen_xl.c | 12 +-
src/libxl/xen_xm.c | 10 +-
src/lxc/lxc_driver.c | 3 +-
src/qemu/qemu_domain.c | 5 +-
src/qemu/qemu_driver.c | 15 +-
src/qemu/qemu_hotplug.c | 3 +-
src/test/test_driver.c | 3 +-
src/vz/vz_sdk.c | 9 +-
tests/qemublocktest.c | 5 +-
14 files changed, 158 insertions(+), 296 deletions(-)
--
2.27.0
4 years
[PATCH] qemu: virtiofs: Stop virtiofsd when the qemu guest fails to start
by Masayoshi Mizuma
From: Masayoshi Mizuma <m.mizuma(a)jp.fujitsu.com>
A qemu guest which has virtiofs config fails to start if the previous
starting failed because of invalid option or something.
For example of the reproduction:
# virsh start guest
error: Failed to start domain guest
error: internal error: process exited while connecting to monitor: qemu-system-x86_64: -foo: invalid option
... fix the option ...
# virsh start guest
error: Failed to start domain guest
error: Cannot open log file: '/var/log/libvirt/qemu/guest-fs0-virtiofsd.log': Device or resource busy
#
That's because the virtiofsd which was executed on the former staring remains
and virtlogd keeps to opening the log file.
Stop virtiofsd when the qemu guest fails to start.
Signed-off-by: Masayoshi Mizuma <m.mizuma(a)jp.fujitsu.com>
---
src/qemu/qemu_domain.h | 1 +
src/qemu/qemu_virtiofs.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index ca041e207b..7d47c030bd 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -426,6 +426,7 @@ struct _qemuDomainFSPrivate {
virObject parent;
char *vhostuser_fs_sock;
+ pid_t virtiofsd_pid;
};
diff --git a/src/qemu/qemu_virtiofs.c b/src/qemu/qemu_virtiofs.c
index 2e239cad66..8684219915 100644
--- a/src/qemu/qemu_virtiofs.c
+++ b/src/qemu/qemu_virtiofs.c
@@ -250,6 +250,7 @@ qemuVirtioFSStart(virLogManagerPtr logManager,
}
QEMU_DOMAIN_FS_PRIVATE(fs)->vhostuser_fs_sock = g_steal_pointer(&socket_path);
+ QEMU_DOMAIN_FS_PRIVATE(fs)->virtiofsd_pid = pid;
ret = 0;
cleanup:
@@ -273,6 +274,7 @@ qemuVirtioFSStop(virQEMUDriverPtr driver G_GNUC_UNUSED,
{
g_autofree char *pidfile = NULL;
virErrorPtr orig_err;
+ pid_t pid = QEMU_DOMAIN_FS_PRIVATE(fs)->virtiofsd_pid;
virErrorPreserveLast(&orig_err);
@@ -286,6 +288,9 @@ qemuVirtioFSStop(virQEMUDriverPtr driver G_GNUC_UNUSED,
unlink(QEMU_DOMAIN_FS_PRIVATE(fs)->vhostuser_fs_sock);
}
+ if (virProcessKill(pid, 0) == 0)
+ virProcessKillPainfully(pid, true);
+
cleanup:
virErrorRestore(&orig_err);
}
--
2.27.0
4 years
[PATCH] tests: qemucapabilities: Update latest qemu caps to qemu v5.2.0-rc1
by Peter Krempa
Synchronize with the latest release candidate.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
.../caps_5.2.0.x86_64.replies | 684 +++++++++---------
.../caps_5.2.0.x86_64.xml | 6 +-
2 files changed, 349 insertions(+), 341 deletions(-)
diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies
index 37b17afba9..140a3312a5 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies
@@ -17,11 +17,11 @@
{
"return": {
"qemu": {
- "micro": 50,
+ "micro": 91,
"minor": 1,
"major": 5
},
- "package": "v5.1.0-2827-g2c6605389c"
+ "package": "v5.2.0-rc1"
},
"id": "libvirt-2"
}
@@ -690,8 +690,8 @@
"parent": "pci-device"
},
{
- "name": "sev-guest",
- "parent": "object"
+ "name": "chardev-stdio",
+ "parent": "chardev-fd"
},
{
"name": "usb-redir",
@@ -714,8 +714,8 @@
"parent": "pci-vga"
},
{
- "name": "virtio-blk-pci-transitional",
- "parent": "virtio-blk-pci-base"
+ "name": "kvm-pit",
+ "parent": "pit-common"
},
{
"name": "Haswell-v1-x86_64-cpu",
@@ -738,8 +738,8 @@
"parent": "generic-pc-machine"
},
{
- "name": "kvm-pit",
- "parent": "pit-common"
+ "name": "sev-guest",
+ "parent": "object"
},
{
"name": "ich9-usb-uhci5",
@@ -793,10 +793,6 @@
"name": "usb-hub",
"parent": "usb-device"
},
- {
- "name": "chardev-pty",
- "parent": "chardev"
- },
{
"name": "virtio-blk-device",
"parent": "virtio-device"
@@ -838,8 +834,8 @@
"parent": "accel"
},
{
- "name": "kvmclock",
- "parent": "sys-bus-device"
+ "name": "chardev-pty",
+ "parent": "chardev"
},
{
"name": "vhost-user-vsock-pci",
@@ -862,21 +858,25 @@
"parent": "scsi-device"
},
{
- "name": "e1000e",
- "parent": "pci-device"
- },
- {
- "name": "x3130-upstream",
- "parent": "pcie-port"
+ "name": "kvmclock",
+ "parent": "sys-bus-device"
},
{
"name": "virtio-serial-pci-transitional",
"parent": "virtio-serial-pci-base"
},
+ {
+ "name": "x3130-upstream",
+ "parent": "pcie-port"
+ },
{
"name": "memory-backend-ram",
"parent": "memory-backend"
},
+ {
+ "name": "e1000e",
+ "parent": "pci-device"
+ },
{
"name": "PCIE",
"parent": "PCI"
@@ -1086,8 +1086,8 @@
"parent": "pci-device"
},
{
- "name": "virtio-input-host-pci",
- "parent": "virtio-input-host-pci-base-type"
+ "name": "virtio-9p-pci-transitional",
+ "parent": "virtio-9p-pci-base"
},
{
"name": "nvdimm",
@@ -1098,8 +1098,8 @@
"parent": "generic-pc-machine"
},
{
- "name": "virtio-9p-pci-transitional",
- "parent": "virtio-9p-pci-base"
+ "name": "virtio-input-host-pci",
+ "parent": "virtio-input-host-pci-base-type"
},
{
"name": "Opteron_G1-x86_64-cpu",
@@ -1154,12 +1154,8 @@
"parent": "sys-bus-device"
},
{
- "name": "chardev-memory",
- "parent": "chardev-ringbuf"
- },
- {
- "name": "i82557a",
- "parent": "pci-device"
+ "name": "pc-q35-2.8-machine",
+ "parent": "generic-pc-machine"
},
{
"name": "vhost-user-scsi-pci-non-transitional",
@@ -1170,13 +1166,17 @@
"parent": "isa-device"
},
{
- "name": "pc-q35-2.8-machine",
- "parent": "generic-pc-machine"
+ "name": "chardev-udp",
+ "parent": "chardev"
},
{
"name": "generic-sdhci",
"parent": "sys-bus-device"
},
+ {
+ "name": "i82557a",
+ "parent": "pci-device"
+ },
{
"name": "virtio-scsi-pci-non-transitional",
"parent": "virtio-scsi-pci-base"
@@ -1194,8 +1194,8 @@
"parent": "x86_64-cpu"
},
{
- "name": "chardev-udp",
- "parent": "chardev"
+ "name": "chardev-memory",
+ "parent": "chardev-ringbuf"
},
{
"name": "EPYC-Rome-v1-x86_64-cpu",
@@ -1266,16 +1266,16 @@
"parent": "vhost-scsi-common"
},
{
- "name": "usb-tablet",
- "parent": "usb-hid"
+ "name": "sd-card",
+ "parent": "device"
},
{
"name": "sysbus-ahci",
"parent": "sys-bus-device"
},
{
- "name": "sd-card",
- "parent": "device"
+ "name": "usb-tablet",
+ "parent": "usb-hid"
},
{
"name": "pc-q35-4.0.1-machine",
@@ -1313,10 +1313,18 @@
"name": "tcg-accel",
"parent": "accel"
},
+ {
+ "name": "piix4-ide",
+ "parent": "pci-ide"
+ },
{
"name": "virtio-balloon-pci",
"parent": "virtio-balloon-pci-base"
},
+ {
+ "name": "Cascadelake-Server-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
{
"name": "qemu:memory-region",
"parent": "object"
@@ -1325,10 +1333,6 @@
"name": "virtio-gpu-device",
"parent": "virtio-gpu-base"
},
- {
- "name": "Cascadelake-Server-v2-x86_64-cpu",
- "parent": "x86_64-cpu"
- },
{
"name": "e1000",
"parent": "e1000-base"
@@ -1345,10 +1349,6 @@
"name": "ES1370",
"parent": "pci-device"
},
- {
- "name": "pc-i440fx-2.6-machine",
- "parent": "generic-pc-machine"
- },
{
"name": "i82551",
"parent": "pci-device"
@@ -1366,8 +1366,8 @@
"parent": "x86_64-cpu"
},
{
- "name": "piix4-ide",
- "parent": "pci-ide"
+ "name": "pc-i440fx-2.6-machine",
+ "parent": "generic-pc-machine"
},
{
"name": "SandyBridge-x86_64-cpu",
@@ -1405,14 +1405,14 @@
"name": "kvm-apic",
"parent": "apic-common"
},
- {
- "name": "isa-pit",
- "parent": "pit-common"
- },
{
"name": "kvm64-x86_64-cpu",
"parent": "x86_64-cpu"
},
+ {
+ "name": "isa-pit",
+ "parent": "pit-common"
+ },
{
"name": "Broadwell-v4-x86_64-cpu",
"parent": "x86_64-cpu"
@@ -1485,10 +1485,6 @@
"name": "vhost-user-blk-pci-non-transitional",
"parent": "vhost-user-blk-pci-base"
},
- {
- "name": "virtio-rng-pci-non-transitional",
- "parent": "virtio-rng-pci-base"
- },
{
"name": "cirrus-vga",
"parent": "pci-device"
@@ -1505,13 +1501,17 @@
"name": "pc-i440fx-2.1-machine",
"parent": "generic-pc-machine"
},
+ {
+ "name": "virtio-serial-pci",
+ "parent": "virtio-serial-pci-base"
+ },
{
"name": "i82559er",
"parent": "pci-device"
},
{
- "name": "virtio-serial-pci",
- "parent": "virtio-serial-pci-base"
+ "name": "virtio-rng-pci-non-transitional",
+ "parent": "virtio-rng-pci-base"
},
{
"name": "Skylake-Client-x86_64-cpu",
@@ -1750,11 +1750,11 @@
"parent": "base-sysbus-fdc"
},
{
- "name": "i82559c",
+ "name": "AMDVI-PCI",
"parent": "pci-device"
},
{
- "name": "AMDVI-PCI",
+ "name": "i82559c",
"parent": "pci-device"
},
{
@@ -1802,11 +1802,11 @@
"parent": "vhost-user-scsi-pci-base"
},
{
- "name": "i82559a",
+ "name": "kvaser_pci",
"parent": "pci-device"
},
{
- "name": "kvaser_pci",
+ "name": "i82559a",
"parent": "pci-device"
},
{
@@ -1830,8 +1830,8 @@
"parent": "chardev-spice"
},
{
- "name": "tls-creds-x509",
- "parent": "tls-creds"
+ "name": "qio-channel-command",
+ "parent": "qio-channel"
},
{
"name": "Opteron_G3-v1-x86_64-cpu",
@@ -1846,8 +1846,8 @@
"parent": "virtio-blk-pci-base"
},
{
- "name": "qio-channel-command",
- "parent": "qio-channel"
+ "name": "tls-creds-x509",
+ "parent": "tls-creds"
},
{
"name": "pc-i440fx-2.4-machine",
@@ -1870,8 +1870,8 @@
"parent": "x86_64-cpu"
},
{
- "name": "qio-channel-websock",
- "parent": "qio-channel"
+ "name": "qio-net-listener",
+ "parent": "object"
},
{
"name": "pc-q35-4.1-machine",
@@ -1894,8 +1894,8 @@
"parent": "x86_64-cpu"
},
{
- "name": "qio-net-listener",
- "parent": "object"
+ "name": "qio-channel-websock",
+ "parent": "qio-channel"
},
{
"name": "edu",
@@ -1973,6 +1973,10 @@
"name": "chardev-socket",
"parent": "chardev"
},
+ {
+ "name": "clock",
+ "parent": "object"
+ },
{
"name": "Haswell-v2-x86_64-cpu",
"parent": "x86_64-cpu"
@@ -1985,14 +1989,14 @@
"name": "usb-ehci",
"parent": "pci-ehci-usb"
},
- {
- "name": "pxb",
- "parent": "pci-device"
- },
{
"name": "pc-i440fx-2.11-machine",
"parent": "generic-pc-machine"
},
+ {
+ "name": "pxb",
+ "parent": "pci-device"
+ },
{
"name": "AC97",
"parent": "pci-device"
@@ -2006,8 +2010,8 @@
"parent": "virtio-device"
},
{
- "name": "clock",
- "parent": "object"
+ "name": "nvme-bus",
+ "parent": "bus"
},
{
"name": "virtconsole",
@@ -2022,8 +2026,8 @@
"parent": "isa-device"
},
{
- "name": "hyperv-testdev",
- "parent": "isa-device"
+ "name": "virtio-iommu-pci-non-transitional",
+ "parent": "virtio-iommu-device-base"
},
{
"name": "scsi-hd",
@@ -2070,29 +2074,29 @@
"parent": "x86_64-cpu"
},
{
- "name": "virtio-iommu-pci-non-transitional",
- "parent": "virtio-iommu-device-base"
+ "name": "hyperv-testdev",
+ "parent": "isa-device"
},
{
"name": "s3c-sdhci",
"parent": "generic-sdhci"
},
{
- "name": "tpm-tis",
- "parent": "isa-device"
+ "name": "Westmere-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "fw_cfg_mem",
"parent": "fw_cfg"
},
- {
- "name": "Westmere-v2-x86_64-cpu",
- "parent": "x86_64-cpu"
- },
{
"name": "ccid-card-emulated",
"parent": "ccid-card"
},
+ {
+ "name": "tpm-tis",
+ "parent": "isa-device"
+ },
{
"name": "pc-q35-5.1-machine",
"parent": "generic-pc-machine"
@@ -2281,6 +2285,10 @@
"name": "colo-compare",
"parent": "object"
},
+ {
+ "name": "virtio-mmio",
+ "parent": "sys-bus-device"
+ },
{
"name": "pxb-bus",
"parent": "PCI"
@@ -2289,10 +2297,6 @@
"name": "pentium2-x86_64-cpu",
"parent": "x86_64-cpu"
},
- {
- "name": "virtio-mmio",
- "parent": "sys-bus-device"
- },
{
"name": "Broadwell-v1-x86_64-cpu",
"parent": "x86_64-cpu"
@@ -2321,18 +2325,26 @@
"name": "Skylake-Server-v4-x86_64-cpu",
"parent": "x86_64-cpu"
},
+ {
+ "name": "kvmvapic",
+ "parent": "sys-bus-device"
+ },
{
"name": "Nehalem-v1-x86_64-cpu",
"parent": "x86_64-cpu"
},
{
- "name": "kvmvapic",
- "parent": "sys-bus-device"
+ "name": "nvme-ns",
+ "parent": "device"
},
{
"name": "Opteron_G2-x86_64-cpu",
"parent": "x86_64-cpu"
},
+ {
+ "name": "pc-1.1-machine",
+ "parent": "generic-pc-machine"
+ },
{
"name": "megasas-gen2",
"parent": "megasas-base"
@@ -2365,10 +2377,6 @@
"name": "Broadwell-noTSX-x86_64-cpu",
"parent": "x86_64-cpu"
},
- {
- "name": "pc-1.1-machine",
- "parent": "generic-pc-machine"
- },
{
"name": "u2f-passthru",
"parent": "u2f-key"
@@ -2509,14 +2517,14 @@
"name": "vhost-user-gpu",
"parent": "virtio-gpu-base"
},
- {
- "name": "pentium-v1-x86_64-cpu",
- "parent": "x86_64-cpu"
- },
{
"name": "hda-duplex",
"parent": "hda-audio"
},
+ {
+ "name": "pentium-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
{
"name": "amd-iommu-iommu-memory-region",
"parent": "qemu:iommu-memory-region"
@@ -2526,24 +2534,24 @@
"parent": "object"
},
{
- "name": "Nehalem-IBRS-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "virtio-balloon-device",
+ "parent": "virtio-device"
},
{
- "name": "Cascadelake-Server-v3-x86_64-cpu",
+ "name": "Cooperlake-v1-x86_64-cpu",
"parent": "x86_64-cpu"
},
{
- "name": "cfi.pflash01",
- "parent": "sys-bus-device"
+ "name": "Cascadelake-Server-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
- "name": "virtio-balloon-device",
- "parent": "virtio-device"
+ "name": "Nehalem-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
- "name": "Cooperlake-v1-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "cfi.pflash01",
+ "parent": "sys-bus-device"
},
{
"name": "pc-q35-2.7-machine",
@@ -2774,8 +2782,8 @@
"parent": "x86_64-cpu"
},
{
- "name": "pcie-root-port",
- "parent": "pcie-root-port-base"
+ "name": "kvm64-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "IDE",
@@ -2786,8 +2794,8 @@
"parent": "x86_64-cpu"
},
{
- "name": "kvm64-v1-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "pcie-root-port",
+ "parent": "pcie-root-port-base"
},
{
"name": "mptsas1068",
@@ -2886,8 +2894,8 @@
"parent": "qio-channel"
},
{
- "name": "chardev-stdio",
- "parent": "chardev-fd"
+ "name": "virtio-blk-pci-transitional",
+ "parent": "virtio-blk-pci-base"
},
{
"name": "virtio-vga",
@@ -8366,6 +8374,14 @@
"deprecated": false,
"default-ram-id": "pc.ram"
},
+ {
+ "hotpluggable-cpus": false,
+ "name": "none",
+ "numa-mem-supported": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
{
"hotpluggable-cpus": true,
"name": "pc-1.1",
@@ -8375,14 +8391,6 @@
"deprecated": true,
"default-ram-id": "pc.ram"
},
- {
- "hotpluggable-cpus": false,
- "name": "none",
- "numa-mem-supported": false,
- "cpu-max": 1,
- "deprecated": false,
- "default-ram-id": "ram"
- },
{
"hotpluggable-cpus": true,
"name": "pc-i440fx-2.7",
@@ -10583,248 +10591,94 @@
"emulator"
],
"id": "libvirt-43"
-}
-
-{
- "execute": "query-command-line-options",
- "id": "libvirt-44"
-}
-
-{
- "return": [
- {
- "parameters": [
- {
- "name": "timeout",
- "help": "Request timeout in seconds (default 0 = no timeout)",
- "type": "number"
- },
- {
- "name": "initiator-name",
- "help": "Initiator iqn name to use when connecting",
- "type": "string"
- },
- {
- "name": "header-digest",
- "help": "HeaderDigest setting. {CRC32C|CRC32C-NONE|NONE-CRC32C|NONE}",
- "type": "string"
- },
- {
- "name": "password-secret",
- "help": "ID of the secret providing password for CHAP authentication to target",
- "type": "string"
- },
- {
- "name": "password",
- "help": "password for CHAP authentication to target",
- "type": "string"
- },
- {
- "name": "user",
- "help": "username for CHAP authentication to target",
- "type": "string"
- }
- ],
- "option": "iscsi"
- },
- {
- "parameters": [
- {
- "name": "audiodev",
- "type": "string"
- },
- {
- "name": "non-adaptive",
- "type": "boolean"
- },
- {
- "name": "lossy",
- "type": "boolean"
- },
- {
- "name": "sasl-authz",
- "type": "string"
- },
- {
- "name": "tls-authz",
- "type": "string"
- },
- {
- "name": "acl",
- "type": "boolean"
- },
- {
- "name": "sasl",
- "type": "boolean"
- },
- {
- "name": "key-delay-ms",
- "type": "number"
- },
- {
- "name": "lock-key-sync",
- "type": "boolean"
- },
- {
- "name": "reverse",
- "type": "boolean"
- },
- {
- "name": "password",
- "type": "boolean"
- },
- {
- "name": "ipv6",
- "type": "boolean"
- },
- {
- "name": "ipv4",
- "type": "boolean"
- },
- {
- "name": "to",
- "type": "number"
- },
- {
- "name": "connections",
- "type": "number"
- },
- {
- "name": "head",
- "type": "number"
- },
- {
- "name": "display",
- "type": "string"
- },
- {
- "name": "share",
- "type": "string"
- },
- {
- "name": "tls-creds",
- "type": "string"
- },
- {
- "name": "websocket",
- "type": "string"
- },
- {
- "name": "vnc",
- "type": "string"
- }
- ],
- "option": "vnc"
- },
- {
- "parameters": [
- ],
- "option": "acpi"
- },
- {
- "parameters": [
- {
- "name": "rendernode",
- "type": "string"
- },
- {
- "name": "gl",
- "type": "boolean"
- },
- {
- "name": "head",
- "type": "number"
- },
- {
- "name": "display",
- "type": "string"
- },
- {
- "name": "seamless-migration",
- "type": "boolean"
- },
- {
- "name": "playback-compression",
- "type": "boolean"
- },
- {
- "name": "agent-mouse",
- "type": "boolean"
- },
- {
- "name": "streaming-video",
- "type": "string"
- },
+}
+
+{
+ "execute": "query-command-line-options",
+ "id": "libvirt-44"
+}
+
+{
+ "return": [
+ {
+ "parameters": [
{
- "name": "zlib-glz-wan-compression",
- "type": "string"
+ "name": "timeout",
+ "help": "Request timeout in seconds (default 0 = no timeout)",
+ "type": "number"
},
{
- "name": "jpeg-wan-compression",
+ "name": "initiator-name",
+ "help": "Initiator iqn name to use when connecting",
"type": "string"
},
{
- "name": "image-compression",
+ "name": "header-digest",
+ "help": "HeaderDigest setting. {CRC32C|CRC32C-NONE|NONE-CRC32C|NONE}",
"type": "string"
},
{
- "name": "plaintext-channel",
+ "name": "password-secret",
+ "help": "ID of the secret providing password for CHAP authentication to target",
"type": "string"
},
{
- "name": "tls-channel",
+ "name": "password",
+ "help": "password for CHAP authentication to target",
"type": "string"
},
{
- "name": "tls-ciphers",
+ "name": "user",
+ "help": "username for CHAP authentication to target",
"type": "string"
- },
+ }
+ ],
+ "option": "iscsi"
+ },
+ {
+ "parameters": [
{
- "name": "x509-dh-key-file",
+ "name": "audiodev",
"type": "string"
},
{
- "name": "x509-cacert-file",
- "type": "string"
+ "name": "non-adaptive",
+ "type": "boolean"
},
{
- "name": "x509-cert-file",
- "type": "string"
+ "name": "lossy",
+ "type": "boolean"
},
{
- "name": "x509-key-password",
+ "name": "sasl-authz",
"type": "string"
},
{
- "name": "x509-key-file",
+ "name": "tls-authz",
"type": "string"
},
{
- "name": "x509-dir",
- "type": "string"
+ "name": "acl",
+ "type": "boolean"
},
{
"name": "sasl",
"type": "boolean"
},
{
- "name": "disable-agent-file-xfer",
- "type": "boolean"
+ "name": "key-delay-ms",
+ "type": "number"
},
{
- "name": "disable-copy-paste",
+ "name": "lock-key-sync",
"type": "boolean"
},
{
- "name": "disable-ticketing",
+ "name": "reverse",
"type": "boolean"
},
{
"name": "password",
- "type": "string"
- },
- {
- "name": "unix",
"type": "boolean"
},
{
@@ -10836,19 +10690,39 @@
"type": "boolean"
},
{
- "name": "addr",
- "type": "string"
+ "name": "to",
+ "type": "number"
},
{
- "name": "tls-port",
+ "name": "connections",
"type": "number"
},
{
- "name": "port",
+ "name": "head",
"type": "number"
+ },
+ {
+ "name": "display",
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "type": "string"
+ },
+ {
+ "name": "tls-creds",
+ "type": "string"
+ },
+ {
+ "name": "websocket",
+ "type": "string"
+ },
+ {
+ "name": "vnc",
+ "type": "string"
}
],
- "option": "spice"
+ "option": "vnc"
},
{
"parameters": [
@@ -11041,8 +10915,132 @@
},
{
"parameters": [
+ {
+ "name": "rendernode",
+ "type": "string"
+ },
+ {
+ "name": "gl",
+ "type": "boolean"
+ },
+ {
+ "name": "head",
+ "type": "number"
+ },
+ {
+ "name": "display",
+ "type": "string"
+ },
+ {
+ "name": "seamless-migration",
+ "type": "boolean"
+ },
+ {
+ "name": "playback-compression",
+ "type": "boolean"
+ },
+ {
+ "name": "agent-mouse",
+ "type": "boolean"
+ },
+ {
+ "name": "streaming-video",
+ "type": "string"
+ },
+ {
+ "name": "zlib-glz-wan-compression",
+ "type": "string"
+ },
+ {
+ "name": "jpeg-wan-compression",
+ "type": "string"
+ },
+ {
+ "name": "image-compression",
+ "type": "string"
+ },
+ {
+ "name": "plaintext-channel",
+ "type": "string"
+ },
+ {
+ "name": "tls-channel",
+ "type": "string"
+ },
+ {
+ "name": "tls-ciphers",
+ "type": "string"
+ },
+ {
+ "name": "x509-dh-key-file",
+ "type": "string"
+ },
+ {
+ "name": "x509-cacert-file",
+ "type": "string"
+ },
+ {
+ "name": "x509-cert-file",
+ "type": "string"
+ },
+ {
+ "name": "x509-key-password",
+ "type": "string"
+ },
+ {
+ "name": "x509-key-file",
+ "type": "string"
+ },
+ {
+ "name": "x509-dir",
+ "type": "string"
+ },
+ {
+ "name": "sasl",
+ "type": "boolean"
+ },
+ {
+ "name": "disable-agent-file-xfer",
+ "type": "boolean"
+ },
+ {
+ "name": "disable-copy-paste",
+ "type": "boolean"
+ },
+ {
+ "name": "disable-ticketing",
+ "type": "boolean"
+ },
+ {
+ "name": "password",
+ "type": "string"
+ },
+ {
+ "name": "unix",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv6",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv4",
+ "type": "boolean"
+ },
+ {
+ "name": "addr",
+ "type": "string"
+ },
+ {
+ "name": "tls-port",
+ "type": "number"
+ },
+ {
+ "name": "port",
+ "type": "number"
+ }
],
- "option": "smbios"
+ "option": "spice"
},
{
"parameters": [
@@ -11069,6 +11067,16 @@
],
"option": "sandbox"
},
+ {
+ "parameters": [
+ ],
+ "option": "acpi"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "smbios"
+ },
{
"parameters": [
{
@@ -24745,12 +24753,12 @@
"type": "str"
},
{
- "name": "tight",
+ "name": "abstract",
"default": null,
"type": "bool"
},
{
- "name": "abstract",
+ "name": "tight",
"default": null,
"type": "bool"
}
@@ -26652,7 +26660,7 @@
"sse4.1": true,
"family": 23,
"vmx-vmwrite-vmexit-fields": false,
- "kvm-asyncpf-int": false,
+ "kvm-asyncpf-int": true,
"vmx-vnmi": false,
"vmx-true-ctls": false,
"vmx-ept-execonly": false,
@@ -26975,7 +26983,7 @@
"sse4.1": true,
"family": 23,
"vmx-vmwrite-vmexit-fields": false,
- "kvm-asyncpf-int": false,
+ "kvm-asyncpf-int": true,
"vmx-vnmi": false,
"vmx-true-ctls": false,
"vmx-ept-execonly": false,
@@ -30357,6 +30365,14 @@
"deprecated": false,
"default-ram-id": "pc.ram"
},
+ {
+ "hotpluggable-cpus": false,
+ "name": "none",
+ "numa-mem-supported": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
{
"hotpluggable-cpus": true,
"name": "pc-1.1",
@@ -30366,14 +30382,6 @@
"deprecated": true,
"default-ram-id": "pc.ram"
},
- {
- "hotpluggable-cpus": false,
- "name": "none",
- "numa-mem-supported": false,
- "cpu-max": 1,
- "deprecated": false,
- "default-ram-id": "ram"
- },
{
"hotpluggable-cpus": true,
"name": "pc-i440fx-2.7",
diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
index 94a1945639..6706a8b8d4 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
@@ -249,10 +249,10 @@
<flag name='block-export-add'/>
<flag name='netdev.vhost-vdpa'/>
<flag name='fsdev.createmode'/>
- <version>5001050</version>
+ <version>5001091</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100243</microcodeVersion>
- <package>v5.1.0-2827-g2c6605389c</package>
+ <package>v5.2.0-rc1</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>
<property name='vmx-entry-load-rtit-ctl' type='boolean' value='false'/>
@@ -286,7 +286,7 @@
<property name='sse4.1' type='boolean' value='true' migratable='yes'/>
<property name='family' type='number' value='23'/>
<property name='vmx-vmwrite-vmexit-fields' type='boolean' value='false'/>
- <property name='kvm-asyncpf-int' type='boolean' value='false'/>
+ <property name='kvm-asyncpf-int' type='boolean' value='true' migratable='yes'/>
<property name='vmx-vnmi' type='boolean' value='false'/>
<property name='vmx-true-ctls' type='boolean' value='false'/>
<property name='vmx-ept-execonly' type='boolean' value='false'/>
--
2.26.2
4 years
[libvirt PATCH] Fix capitalization "CLang" -> "Clang"
by Andrea Bolognani
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Pushed as trivial.
config.h | 2 +-
docs/programming-languages.rst | 2 +-
meson.build | 4 ++--
tests/qemusecuritymock.c | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/config.h b/config.h
index 0f12b728b6..2ee7f7bff6 100644
--- a/config.h
+++ b/config.h
@@ -26,7 +26,7 @@
#endif
#ifndef __GNUC__
-# error "Libvirt requires GCC >= 4.8, or CLang"
+# error "Libvirt requires GCC >= 4.8, or Clang"
#endif
/*
diff --git a/docs/programming-languages.rst b/docs/programming-languages.rst
index 9d7dbdcd37..80a997f63b 100644
--- a/docs/programming-languages.rst
+++ b/docs/programming-languages.rst
@@ -11,7 +11,7 @@ some of the existing languages.
The preferred languages at this time are:
- C - for the main libvirt codebase. Dialect supported by
- GCC/CLang only.
+ GCC/Clang only.
- Python - for supporting build scripts / tools. Code must run
with both version 2.7 and 3.x at this time.
diff --git a/meson.build b/meson.build
index 5fec644fc7..8133d094c8 100644
--- a/meson.build
+++ b/meson.build
@@ -401,8 +401,8 @@ cc_flags += [
# We do "bad" function casts all the time for event callbacks
'-Wno-cast-function-type',
- # CLang incorrectly complains about dup typedefs win gnu99 mode
- # so use this CLang-specific arg to keep it quiet
+ # Clang incorrectly complains about dup typedefs win gnu99 mode
+ # so use this Clang-specific arg to keep it quiet
'-Wno-typedef-redefinition',
# Clang complains about casts in G_DEFINE_TYPE(...)
diff --git a/tests/qemusecuritymock.c b/tests/qemusecuritymock.c
index d6858dc821..1fa4e522cc 100644
--- a/tests/qemusecuritymock.c
+++ b/tests/qemusecuritymock.c
@@ -183,7 +183,7 @@ virFileGetXAttrQuiet(const char *path,
* return value from virFileGetXAttrQuiet gets scrambled
* if we mock virFileGetXAttrQuiet, returning -1 instead
* of 0 despite succeeding. This happens on FreeBSD 11/12
- * hosts with CLang, and is suspected to be some kind of
+ * hosts with Clang, and is suspected to be some kind of
* compiler optimization. By mocking this function too we
* can workaround it.
*/
--
2.26.2
4 years
[libvirt PATCH] Set -Wno-incompatible-pointer-types-discards-qualifiers
by Daniel P. Berrangé
With CLang we're getting failures from cats in GLib macros
../dist-unpack/libvirt-6.10.0/src/util/vireventthread.c:35:1:
error: passing 'typeof (*(&g_define_type_id__volatile)) *'
(aka 'volatile unsigned long *') to parameter of type
'gsize *' (aka 'unsigned long *') discards qualifiers
[-Werror,-Wincompatible-pointer-types-discards-qualifiers]
G_DEFINE_TYPE(virEventThread, vir_event_thread, G_TYPE_OBJECT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The cast is valid and there's no way for libvirt to workaround
the issue, so we must disable this CLang warning flag.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
meson.build | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meson.build b/meson.build
index f2e4f2cc23..e4b7fa0728 100644
--- a/meson.build
+++ b/meson.build
@@ -405,6 +405,9 @@ cc_flags += [
# so use this CLang-specific arg to keep it quiet
'-Wno-typedef-redefinition',
+ # CLang complains about casts in G_DEFINE_TYPE(...)
+ '-Wno-incompatible-pointer-types-discards-qualifiers',
+
# We don't use -Wc++-compat so we have to enable it explicitly
'-Wjump-misses-init',
--
2.25.4
4 years