[PATCH] qemu: validate: Reword error message when CCW addresses are not supported for a machine
by Peter Krempa
Reword the error message to clearly state that the machine type doesn't
support the address type. It doesn't matter which device it's for.
Additionally the alias may be still NULL at the point when the error is
being reported misleading users that they have something wrong with a
specific device.
Resolves:https://issues.redhat.com/browse/RHEL-16878
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/qemu/qemu_validate.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index 93df9e4c8e..2afd7e128a 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -1512,8 +1512,8 @@ qemuValidateDomainDeviceDefAddress(const virDomainDeviceDef *dev,
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW:
if (!qemuDomainIsS390CCW(def)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("cannot use CCW address type for device '%1$s' using machine type '%2$s'"),
- NULLSTR(info->alias), def->os.machine);
+ _("CCW addresses are not supported by machine type '%1$s'"),
+ def->os.machine);
return -1;
}
--
2.41.0
11 months, 1 week
[PATCH 0/2] Adapt to glibc qsort() turned unstable
by Michal Privoznik
glibc reworked qsort() which now uses an unstable sorting algorithm.
This is causing issues to our tests (see broken pipeline for rawhide).
Green pipeline:
https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/1081297468
Michal Prívozník (2):
tests: Introduce virqsortmock
nwfilterxml2firewalltest: Use virqsortmock for stable sorting
tests/meson.build | 1 +
tests/nwfilterxml2firewalltest.c | 4 ++-
tests/virqsortmock.c | 58 ++++++++++++++++++++++++++++++++
3 files changed, 62 insertions(+), 1 deletion(-)
create mode 100644 tests/virqsortmock.c
--
2.41.0
11 months, 1 week
[PATCH 0/3] Introduce pipewire audio backend
by Michal Privoznik
This is a resend of patches from earlier:
https://listman.redhat.com/archives/libvir-list/2023-May/239860.html
Apparently, users want this now.
Michal Prívozník (3):
conf: Introduce pipewire audio backend
qemu: Generate cmd line for pipewire audio backend
NEWS: Document pipewire audio backend
NEWS.rst | 10 +++
docs/formatdomain.rst | 35 +++++++++-
src/conf/domain_conf.c | 70 +++++++++++++++++++
src/conf/domain_conf.h | 12 ++++
src/conf/schemas/domaincommon.rng | 37 ++++++++++
src/qemu/qemu_command.c | 63 +++++++++++++++++
src/qemu/qemu_validate.c | 1 +
.../audio-many-backends.x86_64-latest.args | 2 +
.../qemuxml2argvdata/audio-many-backends.xml | 1 +
.../audio-pipewire-best.x86_64-latest.args | 36 ++++++++++
.../qemuxml2argvdata/audio-pipewire-best.xml | 43 ++++++++++++
.../audio-pipewire-full.x86_64-latest.args | 36 ++++++++++
.../qemuxml2argvdata/audio-pipewire-full.xml | 43 ++++++++++++
.../audio-pipewire-minimal.x86_64-latest.args | 36 ++++++++++
.../audio-pipewire-minimal.xml | 36 ++++++++++
tests/qemuxml2argvtest.c | 14 ++++
.../audio-many-backends.x86_64-latest.xml | 1 +
.../audio-pipewire-best.x86_64-latest.xml | 46 ++++++++++++
.../audio-pipewire-full.x86_64-latest.xml | 46 ++++++++++++
.../audio-pipewire-minimal.x86_64-latest.xml | 39 +++++++++++
tests/qemuxml2xmltest.c | 3 +
21 files changed, 608 insertions(+), 2 deletions(-)
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-best.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-best.xml
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-full.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-full.xml
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-minimal.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-minimal.xml
create mode 100644 tests/qemuxml2xmloutdata/audio-pipewire-best.x86_64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/audio-pipewire-full.x86_64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/audio-pipewire-minimal.x86_64-latest.xml
--
2.41.0
11 months, 1 week
Plans for 9.10.0 release (freeze on Monday 27 Nov)
by Jiri Denemark
We are getting close to 9.10.0 release of libvirt. To aim for the
release on Friday 01 Dec I suggest entering the freeze on Monday 27
Nov and tagging RC2 on Wednesday 29 Nov.
I hope this works for everyone.
Jirka
11 months, 2 weeks
[libvirt PATCH] gitlab: adjust url to Coverity tools
by Daniel P. Berrangé
The URL to the Coverity tools download has changed; the old one points
to an obsolete version that is not supported anymore. Adjust to point
to the correct and supported tools.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
.gitlab-ci.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1cdabed941..7dcd07a5c9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -179,7 +179,7 @@ coverity:
before_script:
- cat /packages.txt
script:
- - curl https://scan.coverity.com/download/linux64 --form project=$COVERITY_SCAN_PROJECT_NAME --form token=$COVERITY_SCAN_TOKEN -o /tmp/cov-analysis-linux64.tgz
+ - curl https://scan.coverity.com/download/cxx/linux64 --form project=$COVERITY_SCAN_PROJECT_NAME --form token=$COVERITY_SCAN_TOKEN -o /tmp/cov-analysis-linux64.tgz
- tar xfz /tmp/cov-analysis-linux64.tgz
- meson setup build --werror || (cat build/meson-logs/meson-log.txt && exit 1)
- cov-analysis-linux64-*/bin/cov-build --dir cov-int meson compile -C build
--
2.41.0
11 months, 2 weeks
[libvirt PATCH] security: drop virSecurityDACRestoreImageLabelSingle()
by Andrea Bolognani
It only has a single, trivial caller.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
src/security/security_dac.c | 21 ++++-----------------
1 file changed, 4 insertions(+), 17 deletions(-)
diff --git a/src/security/security_dac.c b/src/security/security_dac.c
index c07e488db7..35b9b56c66 100644
--- a/src/security/security_dac.c
+++ b/src/security/security_dac.c
@@ -972,10 +972,10 @@ virSecurityDACSetImageLabel(virSecurityManager *mgr,
}
static int
-virSecurityDACRestoreImageLabelSingle(virSecurityManager *mgr,
- virDomainDef *def,
- virStorageSource *src,
- bool migrated)
+virSecurityDACRestoreImageLabelInt(virSecurityManager *mgr,
+ virDomainDef *def,
+ virStorageSource *src,
+ bool migrated)
{
virSecurityDACData *priv = virSecurityManagerGetPrivateData(mgr);
virSecurityLabelDef *secdef;
@@ -1047,19 +1047,6 @@ virSecurityDACRestoreImageLabelSingle(virSecurityManager *mgr,
}
-static int
-virSecurityDACRestoreImageLabelInt(virSecurityManager *mgr,
- virDomainDef *def,
- virStorageSource *src,
- bool migrated)
-{
- if (virSecurityDACRestoreImageLabelSingle(mgr, def, src, migrated) < 0)
- return -1;
-
- return 0;
-}
-
-
static int
virSecurityDACRestoreImageLabel(virSecurityManager *mgr,
virDomainDef *def,
--
2.42.0
11 months, 2 weeks
[libvirt PATCH v2] qemu: add runtime config option for nbdkit
by Jonathon Jongsma
Currently when we build with nbdkit support, libvirt will always try to
use nbdkit to access remote disk sources when it is available. But
without an up-to-date selinux policy allowing this, it will fail.
Because the required selinux policies are not yet widely available, we
have disabled nbdkit support on rpm builds for all distributions before
Fedora 40.
Unfortunately, this makes it more difficult to test nbdkit support.
After someone updates to the necessary selinux policies, they would also
need to rebuild libvirt to enable nbdkit support. By introducing a
configure option (storage_use_nbdkit), we can build packages with nbdkit
support but have it disabled by default.
Signed-off-by: Jonathon Jongsma <jjongsma(a)redhat.com>
Suggested-by: Andrea Bolognani <abologna(a)redhat.com>
---
Responding to one part of Andrea's review on v1:
> The main concern I have is how this will be handled for upgrades. At
> some point we want to make nbdkit the default, right? But that would
> mean changing how existing installations behave. I guess that is fine
> in this case? Performing the switch transparently was always the plan
> after all... I still feel a tiny bit uneasy about that though.
Yes, I feel the same tiny bit of unease. I think it will be OK though.
For upgrades, we have to consider three basic cases:
1. user doesn't make any configuration changes
- by default nbdkit will not be used. When the default changes in the
future, nbdkit will start being used after upgrade.
2. user explicitly enables nbdkit
- if the user decides to enable nbdkit explicitly via config file,
libvirt will start using nbdkit to serve remote disks. In order for
this to work, the user would have had to install a custom selinux
policy. When the default changes in the future (because the selinux
policy is included downstream) libvirt will continue using nbdkit for
remote disks after upgrade
3. user explicitly disables nbdkit
- there is very little reason for the user to explicitly disable this
configure option until there is a widely-available selinux policy that
makes it possible to *enable* the option. I can think of two potential
reaons it might be done:
A) the user wanted to test the nbdkit feature so they explicitly
enabled it in the config file. After finding out that it failed due
to missing selinux policies, the user explicitly disabled it in the
config file rather than just deleting the configuration option.
B) the user doesn't want nbdkit to be used even if the default
changes in the future.
The only slightly problematic option for upgrades is 3A. If a user
disabled the option and then upgraded to a libvirt version that
defaulted to enabling nbdkit, that new default would not be used. If the
downstream distribution then removed the qemu block drivers for curl and
ssh, remote disks may no longer work. But since there's very little
reason for a user to explicitly disable this configure option while it
is disabled by default, I don't see this as a scenario that is likely to
happen to anybody aside from a developer or two.
libvirt.spec.in | 18 ++++++++++++++----
meson.build | 4 ++++
meson_options.txt | 3 ++-
src/qemu/libvirtd_qemu.aug | 3 +++
src/qemu/meson.build | 2 ++
src/qemu/qemu.conf.in | 10 ++++++++++
src/qemu/qemu_conf.c | 15 +++++++++++++++
src/qemu/qemu_conf.h | 2 ++
src/qemu/qemu_domain.c | 3 +++
tests/qemuxml2argvtest.c | 15 +++++++++------
10 files changed, 64 insertions(+), 11 deletions(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index f50c451e73..5107b06677 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -96,6 +96,7 @@
%define with_sanlock 0
%define with_numad 0
%define with_nbdkit 0
+%define with_nbdkit_config_default 0
%define with_firewalld_zone 0
%define with_netcf 0
%define with_libssh2 0
@@ -174,15 +175,17 @@
%endif
%endif
-# We should only enable nbdkit support if the OS ships a SELinux policy that
-# allows libvirt to launch it. Right now that's not the case anywhere, but
-# things should be fine by the time Fedora 40 is released.
+# We want to build with nbdkit support, but should only enable nbdkit by
+# default if the OS ships a SELinux policy that allows libvirt to launch it.
+# Right now that's not the case anywhere, but things should be fine by the time
+# Fedora 40 is released.
#
# TODO: add RHEL 9 once a minor release that contains the necessary SELinux
# bits exists (we only support the most recent minor release)
%if %{with_qemu}
+ %define with_nbdkit 0%{!?_without_nbdkit:1}
%if 0%{?fedora} >= 40
- %define with_nbdkit 0%{!?_without_nbdkit:1}
+ %define with_nbdkit_config_default 0%{!?_without_nbdkit_config_default:1}
%endif
%endif
@@ -1184,6 +1187,12 @@ exit 1
%define arg_nbdkit -Dnbdkit=disabled
%endif
+%if %{with_nbdkit_config_default}
+ %define arg_nbdkit_config_default -Dnbdkit_config_default=true
+%else
+ %define arg_nbdkit_config_default -Dnbdkit_config_default=false
+%endif
+
%if %{with_fuse}
%define arg_fuse -Dfuse=enabled
%else
@@ -1298,6 +1307,7 @@ export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/libvirt.spec)
%{?arg_sanlock} \
-Dlibpcap=enabled \
%{?arg_nbdkit} \
+ %{?arg_nbdkit_config_default} \
-Dlibnl=enabled \
-Daudit=enabled \
-Ddtrace=enabled \
diff --git a/meson.build b/meson.build
index 62481a008d..ce8ea1300f 100644
--- a/meson.build
+++ b/meson.build
@@ -1012,6 +1012,10 @@ if not conf.has('WITH_NBDKIT')
libnbd_dep = dependency('', required: false)
endif
+# default value for storage_use_nbdkit config option
+use_nbdkit_default = get_option('nbdkit_config_default')
+conf.set10('USE_NBDKIT_DEFAULT', use_nbdkit_default)
+
libnl_version = '3.0'
if not get_option('libnl').disabled() and host_machine.system() == 'linux'
libnl_dep = dependency('libnl-3.0', version: '>=' + libnl_version, required: get_option('libnl'))
diff --git a/meson_options.txt b/meson_options.txt
index a0928102bf..af76cc967e 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -104,7 +104,8 @@ option('loader_nvram', type: 'string', value: '', description: 'Pass list of pai
option('login_shell', type: 'feature', value: 'auto', description: 'build virt-login-shell')
option('nss', type: 'feature', value: 'auto', description: 'enable Name Service Switch plugin for resolving guest IP addresses')
option('numad', type: 'feature', value: 'auto', description: 'use numad to manage CPU placement dynamically')
-option('nbdkit', type: 'feature', value: 'auto', description: 'use nbdkit to access network disks')
+option('nbdkit', type: 'feature', value: 'auto', description: 'Build nbdkit storage backend')
+option('nbdkit_config_default', type: 'boolean', value: 'false', description: 'Whether to use nbdkit storage backend for network disks by default (configurable)')
option('pm_utils', type: 'feature', value: 'auto', description: 'use pm-utils for power management')
option('sysctl_config', type: 'feature', value: 'auto', description: 'Whether to install sysctl configs')
option('tls_priority', type: 'string', value: 'NORMAL', description: 'set the default TLS session priority string')
diff --git a/src/qemu/libvirtd_qemu.aug b/src/qemu/libvirtd_qemu.aug
index ed097ea3d9..43485b43fb 100644
--- a/src/qemu/libvirtd_qemu.aug
+++ b/src/qemu/libvirtd_qemu.aug
@@ -147,6 +147,8 @@ module Libvirtd_qemu =
let capability_filters_entry = str_array_entry "capability_filters"
+ let storage_entry = bool_entry "storage_use_nbdkit"
+
(* Each entry in the config is one of the following ... *)
let entry = default_tls_entry
| vnc_entry
@@ -170,6 +172,7 @@ module Libvirtd_qemu =
| nbd_entry
| swtpm_entry
| capability_filters_entry
+ | storage_entry
| obsolete_entry
let comment = [ label "#comment" . del /#[ \t]*/ "# " . store /([^ \t\n][^\n]*)?/ . del /\n/ "\n" ]
diff --git a/src/qemu/meson.build b/src/qemu/meson.build
index 2279fef2ca..4c3e1dee78 100644
--- a/src/qemu/meson.build
+++ b/src/qemu/meson.build
@@ -137,6 +137,7 @@ if conf.has('WITH_QEMU')
qemu_user_group_conf = configuration_data({
'QEMU_USER': qemu_user,
'QEMU_GROUP': qemu_group,
+ 'USE_NBDKIT_DEFAULT': use_nbdkit_default.to_int(),
})
qemu_conf = configure_file(
input: 'qemu.conf.in',
@@ -147,6 +148,7 @@ if conf.has('WITH_QEMU')
qemu_user_group_hack_conf = configuration_data({
'QEMU_USER': qemu_user,
'QEMU_GROUP': qemu_group,
+ 'USE_NBDKIT_DEFAULT': use_nbdkit_default.to_int(),
# This hack is necessary because the output file is going to be
# used as input for another configure_file() call later, which
# will take care of substituting @CONFIG@ with useful data
diff --git a/src/qemu/qemu.conf.in b/src/qemu/qemu.conf.in
index 6897e0f760..d12ff9f641 100644
--- a/src/qemu/qemu.conf.in
+++ b/src/qemu/qemu.conf.in
@@ -974,3 +974,13 @@
# "full" - both QEMU and its helper processes are placed into separate
# scheduling group
#sched_core = "none"
+
+# Using nbdkit to access remote disk sources
+#
+# If this is set then libvirt will use nbdkit to access remote disk sources
+# when available. nbdkit will export an NBD share to QEMU rather than having
+# QEMU attempt to access the remote server directly.
+#
+# Possible values are 0 or 1. Default value is @USE_NBDKIT_DEFAULT@.
+#
+# storage_use_nbdkit = @USE_NBDKIT_DEFAULT@
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 513b5ebb1e..fbc32822ec 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -285,6 +285,7 @@ virQEMUDriverConfig *virQEMUDriverConfigNew(bool privileged,
return NULL;
cfg->deprecationBehavior = g_strdup("none");
+ cfg->storageUseNbdkit = USE_NBDKIT_DEFAULT;
return g_steal_pointer(&cfg);
}
@@ -1065,6 +1066,17 @@ virQEMUDriverConfigLoadCapsFiltersEntry(virQEMUDriverConfig *cfg,
}
+static int
+virQEMUDriverConfigLoadStorageEntry(virQEMUDriverConfig *cfg,
+ virConf *conf)
+{
+ if (virConfGetValueBool(conf, "storage_use_nbdkit", &cfg->storageUseNbdkit) < 0)
+ return -1;
+
+ return 0;
+}
+
+
int virQEMUDriverConfigLoadFile(virQEMUDriverConfig *cfg,
const char *filename,
bool privileged)
@@ -1136,6 +1148,9 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfig *cfg,
if (virQEMUDriverConfigLoadCapsFiltersEntry(cfg, conf) < 0)
return -1;
+ if (virQEMUDriverConfigLoadStorageEntry(cfg, conf) < 0)
+ return -1;
+
return 0;
}
diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h
index 1a3ba3a0fb..36049b4bfa 100644
--- a/src/qemu/qemu_conf.h
+++ b/src/qemu/qemu_conf.h
@@ -230,6 +230,8 @@ struct _virQEMUDriverConfig {
char *deprecationBehavior;
+ bool storageUseNbdkit;
+
virQEMUSchedCore schedCore;
};
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index ae19ce884b..f8dda6c898 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -10333,6 +10333,9 @@ qemuDomainPrepareStorageSourceNbdkit(virStorageSource *src,
{
g_autoptr(qemuNbdkitCaps) nbdkit = NULL;
+ if (!cfg->storageUseNbdkit)
+ return false;
+
if (virStorageSourceGetActualType(src) != VIR_STORAGE_TYPE_NETWORK)
return false;
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 24997c0aaa..e7a364f897 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1115,7 +1115,6 @@ mymain(void)
DO_TEST_CAPS_LATEST("disk-cdrom-empty-network-invalid");
DO_TEST_CAPS_LATEST("disk-cdrom-bus-other");
DO_TEST_CAPS_LATEST("disk-cdrom-network");
- DO_TEST_CAPS_LATEST_NBDKIT("disk-cdrom-network-nbdkit", QEMU_NBDKIT_CAPS_PLUGIN_CURL);
DO_TEST_CAPS_LATEST("disk-cdrom-tray");
DO_TEST_CAPS_LATEST("disk-floppy");
DO_TEST_CAPS_LATEST("disk-floppy-q35");
@@ -1161,8 +1160,6 @@ mymain(void)
DO_TEST_CAPS_VER("disk-network-sheepdog", "6.0.0");
DO_TEST_CAPS_LATEST("disk-network-source-auth");
DO_TEST_CAPS_LATEST("disk-network-source-curl");
- DO_TEST_CAPS_LATEST_NBDKIT("disk-network-source-curl-nbdkit", QEMU_NBDKIT_CAPS_PLUGIN_CURL);
- DO_TEST_CAPS_LATEST_NBDKIT("disk-network-source-curl-nbdkit-backing", QEMU_NBDKIT_CAPS_PLUGIN_CURL);
DO_TEST_CAPS_LATEST("disk-network-nfs");
driver.config->vxhsTLS = 1;
driver.config->nbdTLSx509secretUUID = g_strdup("6fd3f62d-9fe7-4a4e-a869-7acd6376d8ea");
@@ -1173,13 +1170,10 @@ mymain(void)
DO_TEST_CAPS_LATEST("disk-network-tlsx509-nbd-hostname");
DO_TEST_CAPS_VER("disk-network-tlsx509-vxhs", "5.0.0");
DO_TEST_CAPS_LATEST("disk-network-http");
- DO_TEST_CAPS_LATEST_NBDKIT("disk-network-http-nbdkit", QEMU_NBDKIT_CAPS_PLUGIN_CURL);
VIR_FREE(driver.config->nbdTLSx509secretUUID);
VIR_FREE(driver.config->vxhsTLSx509secretUUID);
driver.config->vxhsTLS = 0;
DO_TEST_CAPS_LATEST("disk-network-ssh");
- DO_TEST_CAPS_LATEST_NBDKIT("disk-network-ssh-nbdkit", QEMU_NBDKIT_CAPS_PLUGIN_SSH);
- DO_TEST_CAPS_LATEST_NBDKIT("disk-network-ssh-password", QEMU_NBDKIT_CAPS_PLUGIN_SSH);
DO_TEST_CAPS_LATEST("disk-no-boot");
DO_TEST_CAPS_LATEST("disk-nvme");
DO_TEST_CAPS_VER("disk-vhostuser-numa", "4.2.0");
@@ -1249,6 +1243,15 @@ mymain(void)
DO_TEST_CAPS_LATEST("disk-geometry");
DO_TEST_CAPS_LATEST("disk-blockio");
+ driver.config->storageUseNbdkit = 1;
+ DO_TEST_CAPS_LATEST_NBDKIT("disk-cdrom-network-nbdkit", QEMU_NBDKIT_CAPS_PLUGIN_CURL);
+ DO_TEST_CAPS_LATEST_NBDKIT("disk-network-source-curl-nbdkit", QEMU_NBDKIT_CAPS_PLUGIN_CURL);
+ DO_TEST_CAPS_LATEST_NBDKIT("disk-network-source-curl-nbdkit-backing", QEMU_NBDKIT_CAPS_PLUGIN_CURL);
+ DO_TEST_CAPS_LATEST_NBDKIT("disk-network-http-nbdkit", QEMU_NBDKIT_CAPS_PLUGIN_CURL);
+ DO_TEST_CAPS_LATEST_NBDKIT("disk-network-ssh-nbdkit", QEMU_NBDKIT_CAPS_PLUGIN_SSH);
+ DO_TEST_CAPS_LATEST_NBDKIT("disk-network-ssh-password", QEMU_NBDKIT_CAPS_PLUGIN_SSH);
+ driver.config->storageUseNbdkit = 0;
+
DO_TEST_CAPS_VER("disk-virtio-scsi-reservations", "5.2.0");
DO_TEST_CAPS_LATEST("disk-virtio-scsi-reservations");
--
2.41.0
11 months, 2 weeks
[PATCH 0/6] Adapt to libxml2-2.12.0
by Michal Privoznik
There is a new release of libxml2 and we have a technical debt we need
to address before we can compile with it cleanly.
Michal Prívozník (6):
vbox_snapshot_conf: Parse XMLs without net access
vbox_snapshot_conf: Keep indent in snapshot XML
virxml: include <libxml/xmlsave.h> for xmlIndentTreeOutput declaration
virXMLParseHelper: Store XML parsing flags in a variable
virxml: Introduce parsing APIs that keep indentation
lib: Replace xmlKeepBlanksDefault() with virXMLParseWithIndent()
src/conf/backup_conf.c | 8 +++-----
src/conf/checkpoint_conf.c | 8 +++-----
src/conf/domain_conf.c | 11 +++--------
src/conf/network_conf.c | 6 ++----
src/conf/snapshot_conf.c | 8 +++-----
src/util/virxml.c | 24 +++++++++++++++++-------
src/util/virxml.h | 29 +++++++++++++++++++++++++----
src/vbox/vbox_snapshot_conf.c | 27 +++++++++++++++++++--------
tools/virsh-util.c | 5 +----
9 files changed, 76 insertions(+), 50 deletions(-)
--
2.41.0
11 months, 2 weeks
[PATCH v2 00/14] random fixes for 8.2 pre-PR (tests, plugins, docs, semihosting)
by Alex Bennée
I've just been trying to clear some of the bugs against various
subsystems. These are mostly testing changes and a minor tweak I found
while checking up on semihosting behaviour. Enabling arm-softmmu
check-tcg tests expands our testing abilities slightly for the 32 bit
side of the family.
For v2
------
- fixed up register test for ppc64/s390x
- added gdbstub doc patch
- review comments for arm-softmmu testing
- changed handling of "native" cross for linux-user
I intend to roll the PR on Wednesday.
The following need still review:
tests/tcg: finesse the registers check for "hidden" regs
configure: don't try a "native" cross for linux-user
tests/tcg: enable semiconsole test for Arm
tests/tcg: enable arm softmmu tests
docs/system: clarify limits of using gdbstub in system emulation
docs/emulation: expand warning about semihosting
tests/tcg: fixup Aarch64 semiconsole test
Alex Bennée (10):
tests/docker: merge debian-native with debian-amd64
tests/tcg: fixup Aarch64 semiconsole test
docs/emulation: expand warning about semihosting
docs/system: clarify limits of using gdbstub in system emulation
hw/core: skip loading debug on all failures
testing: move arm system tests into their own folder
tests/tcg: enable arm softmmu tests
tests/tcg: enable semiconsole test for Arm
configure: don't try a "native" cross for linux-user
tests/tcg: finesse the registers check for "hidden" regs
Daniel P. Berrangé (1):
tests/docker: replace fedora-i386 with debian-i686
Greg Manning (1):
plugins: fix win plugin tests on cross compile
Philippe Mathieu-Daudé (2):
.gitlab-ci.d/cirrus: Upgrade macOS to 13 (Ventura)
target/nios2: Deprecate the Nios II architecture
docs/about/deprecated.rst | 15 +
docs/about/emulation.rst | 5 +-
docs/system/gdb.rst | 13 +-
configure | 27 +-
hw/core/loader.c | 2 +-
hw/nios2/10m50_devboard.c | 1 +
hw/nios2/generic_nommu.c | 1 +
tests/tcg/arm/system/semiconsole.c | 42 +++
.gitlab-ci.d/buildtest.yml | 12 +-
.gitlab-ci.d/cirrus.yml | 6 +-
.../cirrus/{macos-12.vars => macos-13.vars} | 2 +-
.gitlab-ci.d/container-cross.yml | 11 +-
.gitlab-ci.d/containers.yml | 2 +-
.gitlab-ci.d/crossbuilds.yml | 14 +-
contrib/plugins/Makefile | 2 +-
plugins/meson.build | 2 +-
tests/docker/Makefile.include | 3 -
.../dockerfiles/debian-i686-cross.docker | 182 +++++++++++
tests/docker/dockerfiles/debian-native.docker | 54 ----
.../{debian-amd64.docker => debian.docker} | 7 +-
.../dockerfiles/fedora-i386-cross.docker | 40 ---
tests/lcitool/refresh | 18 +-
tests/plugin/meson.build | 3 +-
tests/tcg/aarch64/Makefile.softmmu-target | 5 +-
tests/tcg/arm/Makefile.softmmu-target | 76 ++++-
tests/tcg/arm/system/boot.S | 301 ++++++++++++++++++
tests/tcg/arm/system/kernel.ld | 24 ++
.../tcg/arm/{ => system}/test-armv6m-undef.S | 0
.../tcg/arm/{ => system}/test-armv6m-undef.ld | 0
tests/tcg/multiarch/gdbstub/registers.py | 87 +++--
tests/tcg/ppc64/Makefile.target | 7 -
tests/tcg/s390x/Makefile.target | 4 -
32 files changed, 775 insertions(+), 193 deletions(-)
create mode 100644 tests/tcg/arm/system/semiconsole.c
rename .gitlab-ci.d/cirrus/{macos-12.vars => macos-13.vars} (95%)
create mode 100644 tests/docker/dockerfiles/debian-i686-cross.docker
delete mode 100644 tests/docker/dockerfiles/debian-native.docker
rename tests/docker/dockerfiles/{debian-amd64.docker => debian.docker} (96%)
delete mode 100644 tests/docker/dockerfiles/fedora-i386-cross.docker
create mode 100644 tests/tcg/arm/system/boot.S
create mode 100644 tests/tcg/arm/system/kernel.ld
rename tests/tcg/arm/{ => system}/test-armv6m-undef.S (100%)
rename tests/tcg/arm/{ => system}/test-armv6m-undef.ld (100%)
--
2.39.2
11 months, 2 weeks
[libvirt PATCH 0/6] polkit: Make it possible to write safer rules
by Andrea Bolognani
See patch 5/6 for details.
Andrea Bolognani (6):
docs: The Polkit access driver is disabled by default
docs: Document org.libvirt.unix.* actions
rpc: Introduce virNetServerHasGranularPolkit()
remote: Set granularPolkit if applicable
remote: Expose granularPolkit attribute to rules
docs: Document granularPolkit attribute
docs/aclpolkit.rst | 33 +++++++++++++++++++++++++++++
src/libvirt_remote.syms | 1 +
src/locking/lock_daemon.c | 6 ++++--
src/logging/log_daemon.c | 6 ++++--
src/lxc/lxc_controller.c | 3 ++-
src/remote/remote_daemon.c | 24 +++++++++++++++++----
src/remote/remote_daemon_dispatch.c | 6 +++++-
src/rpc/virnetserver.c | 16 ++++++++++++--
src/rpc/virnetserver.h | 4 +++-
tests/virnetdaemontest.c | 3 ++-
10 files changed, 88 insertions(+), 14 deletions(-)
--
2.42.0
11 months, 2 weeks