[PATCH] meson: Add back prefix path for runstatedir
by Zhenzhong Duan
Currently libvirt favors /run instead of /var/run, but for local build
run test, a prefix path is still needed to avoid interoperating with OS
vendor provided binaries.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan(a)intel.com>
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index bf4a245dd3..84c9796c2f 100644
--- a/meson.build
+++ b/meson.build
@@ -82,7 +82,7 @@ endif
runstatedir = get_option('runstatedir')
if runstatedir == ''
- runstatedir = '/run'
+ runstatedir = prefix / 'run'
endif
initconfdir = get_option('initconfdir')
--
2.34.1
3 weeks, 5 days
Report a build issue
by Duan, Zhenzhong
Hi,
When -Dlibnl=disabled, build failed as below:
../src/util/virnetdevbridge.c: In function 'virNetDevBridgeSetupVlans':
../src/util/virnetdevbridge.c:326:9: error: implicit declaration of function 'virNetlinkBridgeVlanFilterSet'; did you mean 'virNetDevBridgeGetVlanFiltering'? [-Werror=implicit-function-declaration]
326 | if (virNetlinkBridgeVlanFilterSet(ifname, RTM_DELLINK, 0, 1, &error) < 0) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| virNetDevBridgeGetVlanFiltering
../src/util/virnetdevbridge.c:326:9: error: nested extern declaration of 'virNetlinkBridgeVlanFilterSet' [-Werror=nested-externs]
../src/util/virnetdevbridge.c:326:47: error: 'RTM_DELLINK' undeclared (first use in this function)
326 | if (virNetlinkBridgeVlanFilterSet(ifname, RTM_DELLINK, 0, 1, &error) < 0) {
| ^~~~~~~~~~~
../src/util/virnetdevbridge.c:326:47: note: each undeclared identifier is reported only once for each function it appears in
../src/util/virnetdevbridge.c:346:55: error: 'RTM_SETLINK' undeclared (first use in this function)
346 | if (virNetlinkBridgeVlanFilterSet(ifname, RTM_SETLINK, flags,
| ^~~~~~~~~~~
cc1: all warnings being treated as errors
Thanks
Zhenzhong
3 weeks, 5 days
[PATCH rfcv4 00/13] LIBVIRT: X86: TDX support
by Zhenzhong Duan
Hi,
This series brings libvirt the x86 TDX support.
* What's TDX?
TDX stands for Trust Domain Extensions which isolates VMs from
the virtual-machine manager (VMM)/hypervisor and any other software on
the platform.
To support TDX, multiple software components, not only KVM but also QEMU,
guest Linux and virtual bios, need to be updated. For more details, please
check link[1].
This patchset is another software component to extend libvirt to support TDX,
with which one can start a TDX guest from high level rather than running qemu
directly.
* Misc
As QEMU use a software emulated way to reset guest which isn't supported by TDX
guest for security reason. We simulate reboot for TDX guest by kill and create a
new one in FakeReboot framework.
Complete code can be found at [2], matching qemu code can be found at [3].
There is a 'debug' property for tdx-guest object which isn't in matching qemu[3]
yet. I keep them intentionally as they will be implemented in qemu as extention
series of [3].
* Test
start/stop/reboot with virsh
stop/reboot trigger in guest
stop with on_poweroff=destroy/restart
reboot with on_reboot=destroy/restart
* Patch organization
- patch 1-4: Support query of TDX capabilities.
- patch 5-8: Add TDX type to launchsecurity framework.
- patch 9-11: Add reboot support to TDX guest
- patch 12-13: Add test and docs
TODO:
- update QEMU capabilities data in tests, depending on qemu TDX merged beforehand
- add reconnect logic in virsh command
[1] https://lore.kernel.org/kvm/cover.1708933498.git.isaku.yamahata@intel.com
[2] https://github.com/intel/libvirt-tdx/commits/tdx_for_upstream_rfcv4
[3] https://github.com/intel/qemu-tdx/tree/tdx-qemu-upstream-v5
Thanks
Zhenzhong
Changelog:
rfcv4:
- add a check to tools/virt-host-validate-qemu.c (Daniel)
- remove check of q35 (Daniel)
- model 'SocktetAddress' QAPI in xml schema (Daniel)
- s/Quote-Generation-Service/quoteGenerationService/ (Daniel)
- define bits in tdx->policy and add validating logic (Daniel)
- presume QEMU choose split kernel irqchip for TDX guest by default (Daniel)
- utilize existing FakeReboot framework to do reboot for TDX guest (Daniel)
- drop patch11 'conf: Add support to keep same domid for hard reboot' (Daniel)
- add test in tests/ to validate parsing and formatting logic (Daniel)
- add doc in docs/formatdomain.rst (Daniel)
- add R-B
rfcv3:
- Change to generate qemu cmdline with -bios
- drop firmware auto match as -bios is used
- add a hard reboot method to reboot TDX guest
rfcv3: https://www.mail-archive.com/devel@lists.libvirt.org/msg00385.html
rfcv2:
- give up using qmp cmd and check TDX directly on host for TDX capabilities.
- use launchsecurity framework to support TDX
- use <os>.<loader> for general loader
- add auto firmware match feature for TDX
A example TDVF fimware description file 70-edk2-x86_64-tdx.json:
{
"description": "UEFI firmware for x86_64, supporting Intel TDX",
"interface-types": [
"uefi"
],
"mapping": {
"device": "generic",
"filename": "/usr/share/OVMF/OVMF_CODE-tdx.fd"
},
"targets": [
{
"architecture": "x86_64",
"machines": [
"pc-q35-*"
]
}
],
"features": [
"intel-tdx",
"verbose-dynamic"
],
"tags": [
]
}
rfcv2: https://www.mail-archive.com/libvir-list@redhat.com/msg219378.html
Zhenzhong Duan (13):
tools: Secure guest check for Intel in virt-host-validate
qemu: Check if INTEL Trust Domain Extention support is enabled
qemu: Add TDX capability
conf: expose TDX feature in domain capabilities
conf: add tdx as launch security type
qemu: Add command line and validation for TDX type
qemu: force special parameters enabled for TDX guest
Add Intel TDX Quote Generation Service(QGS) support
qemu: add FakeReboot support for TDX guest
qemu: Support reboot command in guest
qemu: Avoid duplicate FakeReboot for secure guest
Add test cases for Intel TDX
docs: domain: Add documentation for Intel TDX guest
docs/formatdomain.rst | 68 ++++
docs/formatdomaincaps.rst | 1 +
src/conf/domain_capabilities.c | 1 +
src/conf/domain_capabilities.h | 1 +
src/conf/domain_conf.c | 312 ++++++++++++++++++
src/conf/domain_conf.h | 75 +++++
src/conf/schemas/domaincaps.rng | 9 +
src/conf/schemas/domaincommon.rng | 135 ++++++++
src/conf/virconftypes.h | 2 +
src/qemu/qemu_capabilities.c | 36 +-
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 139 ++++++++
src/qemu/qemu_firmware.c | 1 +
src/qemu/qemu_monitor.c | 28 +-
src/qemu/qemu_monitor.h | 2 +-
src/qemu/qemu_monitor_json.c | 6 +-
src/qemu/qemu_namespace.c | 1 +
src/qemu/qemu_process.c | 75 +++++
src/qemu/qemu_validate.c | 44 +++
...unch-security-tdx-qgs-fd.x86_64-latest.xml | 77 +++++
.../launch-security-tdx-qgs-fd.xml | 30 ++
...ch-security-tdx-qgs-inet.x86_64-latest.xml | 77 +++++
.../launch-security-tdx-qgs-inet.xml | 30 ++
...ch-security-tdx-qgs-unix.x86_64-latest.xml | 77 +++++
.../launch-security-tdx-qgs-unix.xml | 30 ++
...h-security-tdx-qgs-vsock.x86_64-latest.xml | 77 +++++
.../launch-security-tdx-qgs-vsock.xml | 30 ++
tests/qemuxmlconftest.c | 24 ++
tools/virt-host-validate-common.c | 22 +-
tools/virt-host-validate-common.h | 1 +
30 files changed, 1407 insertions(+), 5 deletions(-)
create mode 100644 tests/qemuxmlconfdata/launch-security-tdx-qgs-fd.x86_64-latest.xml
create mode 100644 tests/qemuxmlconfdata/launch-security-tdx-qgs-fd.xml
create mode 100644 tests/qemuxmlconfdata/launch-security-tdx-qgs-inet.x86_64-latest.xml
create mode 100644 tests/qemuxmlconfdata/launch-security-tdx-qgs-inet.xml
create mode 100644 tests/qemuxmlconfdata/launch-security-tdx-qgs-unix.x86_64-latest.xml
create mode 100644 tests/qemuxmlconfdata/launch-security-tdx-qgs-unix.xml
create mode 100644 tests/qemuxmlconfdata/launch-security-tdx-qgs-vsock.x86_64-latest.xml
create mode 100644 tests/qemuxmlconfdata/launch-security-tdx-qgs-vsock.xml
--
2.34.1
3 weeks, 5 days
[PATCH] virt-aa-helper: delete dynamic files
by Alessandro
We attempted multiple ways to clean up dynamic files; however, we must
preserve user overrides, which requires keeping the file
/etc/apparmor.d/libvirt/libvirt-uuid
This commit proposes to move user overrides into
/etc/apparmor.d/libvirt/libvirt-uuid.local and include it, if present,
unconditionally. When we stop the domain, we remove libvirt.uuid and
libvirt-uuid.files, whereas we preserve libvirt-uuid.local if present.
Applying the patch, it produces the following:
root@virt-hv-lab002:/etc/apparmor.d/libvirt# ls -1 libvirt-e7424556-ffc1-4f6e-bafa-84e66c4dc033*
libvirt-e7424556-ffc1-4f6e-bafa-84e66c4dc033
libvirt-e7424556-ffc1-4f6e-bafa-84e66c4dc033.files
root@virt-hv-lab002:/etc/apparmor.d/libvirt# cat libvirt-e7424556-ffc1-4f6e-bafa-84e66c4dc033
profile libvirt-e7424556-ffc1-4f6e-bafa-84e66c4dc033 flags=(attach_disconnected) {
#include <abstractions/libvirt-qemu>
#include if exists <libvirt/libvirt-e7424556-ffc1-4f6e-bafa-84e66c4dc033.files>
#include if exists <libvirt/libvirt-e7424556-ffc1-4f6e-bafa-84e66c4dc033.local>
}
root@virt-hv-lab002:/etc/apparmor.d/libvirt# cat libvirt-e7424556-ffc1-4f6e-bafa-84e66c4dc033.files
"/var/log/libvirt/**/testing-9a4be628.log" w,
"/var/lib/libvirt/qemu/domain-testing-9a4be628/monitor.sock" rw,
"/var/lib/libvirt/qemu/domain-4-testing-9a4be628/*" rw,
"/var/run/libvirt/**/testing-9a4be628.pid" rwk,
"/var/run/libvirt/**/*.tunnelmigrate.dest.testing-9a4be628" rw,
"/var/lib/libvirt/images/testing-9a4be628.qcow2" rwk,
"/var/lib/libvirt/images/noble-server-cloudimg-amd64.img" rk,
# don't audit writes to readonly files
deny "/var/lib/libvirt/images/noble-server-cloudimg-amd64.img" w,
"/var/lib/libvirt/images/testing-9a4be628-ds.qcow2" rwk,
"/usr/share/OVMF/OVMF_CODE_4M.fd" rk,
# don't audit writes to readonly files
deny "/usr/share/OVMF/OVMF_CODE_4M.fd" w,
"/var/lib/libvirt/qemu/nvram/testing-9a4be628_VARS.fd" rwk,
"/dev/vhost-net" rw,
"/var/lib/libvirt/qemu/domain-4-testing-9a4be628/{,**}" rwk,
"/run/libvirt/qemu/channel/4-testing-9a4be628/{,**}" rwk,
"/var/lib/libvirt/qemu/domain-4-testing-9a4be628/master-key.aes" rwk,
"/dev/net/tun" rwk,
"/dev/userfaultfd" rwk,
Fixes: https://gitlab.com/libvirt/libvirt/-/issues/451
Signed-off-by: Alessandro <alessandro(a)0x65c.net>
---
src/security/virt-aa-helper.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c
index 034c042..6a1fb85 100644
--- a/src/security/virt-aa-helper.c
+++ b/src/security/virt-aa-helper.c
@@ -1495,8 +1495,10 @@ main(int argc, char **argv)
rc = parserLoad(ctl->uuid);
} else if (ctl->cmd == 'R' || ctl->cmd == 'D') {
rc = parserRemove(ctl->uuid);
- if (ctl->cmd == 'D')
+ if (ctl->cmd == 'D') {
unlink(include_file);
+ unlink(profile);
+ }
} else if (ctl->cmd == 'c' || ctl->cmd == 'r') {
g_autofree char *included_files = NULL;
g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
@@ -1561,12 +1563,18 @@ main(int argc, char **argv)
/* create the profile from TEMPLATE */
if (ctl->cmd == 'c' || purged) {
g_autofree char *tmp = NULL;
+ g_autofree char *tmp_local = NULL;
+ char *new_tmp = NULL;
#if defined(WITH_APPARMOR_3)
const char *ifexists = "if exists ";
#else
const char *ifexists = "";
#endif
tmp = g_strdup_printf(" #include %s<libvirt/%s.files>\n", ifexists, ctl->uuid);
+ tmp_local = g_strdup_printf(" #include %s<libvirt/%s.local>\n", ifexists, ctl->uuid);
+ new_tmp = g_strconcat(tmp, tmp_local, NULL);
+ g_free(tmp);
+ tmp = g_steal_pointer(&new_tmp);
if (ctl->dryrun) {
vah_info(profile);
--
2.49.0
3 weeks, 5 days
[PATCH] news: document dropping apparmor < 3.0.0
by Daniel P. Berrangé
From: Daniel P. Berrangé <berrange(a)redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
NEWS.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 0cb11313cd..d359bc5a32 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -15,6 +15,8 @@ v11.3.0 (unreleased)
* **Removed features**
+ * Support for AppArmor versions prior to 3.0.0 has been dropped
+
* **New features**
* **Improvements**
--
2.48.1
3 weeks, 6 days
Release of libvirt-11.2.0
by Jiri Denemark
The 11.2.0 release of both libvirt and libvirt-python is tagged and
signed tarballs are available at
https://download.libvirt.org/
https://download.libvirt.org/python/
Thanks everybody who helped with this release by sending patches,
reviewing, testing, or providing feedback. Your work is greatly
appreciated.
* Removed features
* Remove support for qemu-6.1 and older
Libvirt now requires *qemu-6.2* or newer based on our platform support
policy.
* New features
* qemu: Add new 'image_format' parameter to virDomainSaveParams
``virDomainSaveParams`` now supports an ``image_format`` parameter for
specifying the save image format on a per-domain basis. The parameter
accepts the same values as the driver-wide ``save_image_format`` setting
in ``qemu.conf``. An image format specified via ``virDomainSaveParams``
takes precedence over the driver-wide setting.
* qemu: Added guest load averages to the output of virDomainGetGuestInfo
This feature will be available with qemu guest agent 10.0 onwards.
* qemu: Add support for multiple iothreads for ``virtio-scsi`` controller
It's now possible to map multiple iothreads to the ``virtio-scsi`` controller
or even map them to specific virtqueues similarly to the ``virtio-blk``
device allowing for better performance in certain scenarios.
* qemu: integrate support for VM shutdown on host shutdown
It is now possible to instruct the QEMU driver to automatically perform
managed save, graceful shutdown, or hard poweroff on running VMs, when a
host shutdown is requested. This feature is intended to eventually replace
usage of the libvirt-guests script. The new approach improves on the
libvirt-guests script, by proactively monitoring logind for a signal that
a host shutdown has been requested. It will initiate the chosen action on
running guests immediately, allowing shutdown inhibitors to be released
sooner. The new solution is also able to iteratively try multiple actions
until one of them succeeds in shutting down the VM.
Since it must be mutually exclusive with the libvirt-guests script, this
feature currently requires a manual opt-in through editing of the
/etc/libvirt/qemu.conf configuration file. The libvirt-guests script must
be disabled before doing this.
* qemu: Add 'sparse' as a new save image format
QEMU's ``file`` migration has been supplemented with the new stream format
``mapped-ram``, where RAM pages are mapped directly to offsets in the
migration file. ``mapped-ram`` is now supported by augmenting the existing
save image formats with the ``sparse`` format.
* qemu: Add support for parallel save/restore
The ``sparse`` image format can support reading and writing by multiple
channels. ``virDomainSaveParams`` and ``virDomainRestoreParams`` now
support specifying the number of IO channels used for parallel save and
restore. Using multiple channels can reduce the time required to save
and restore domains.
* virsh: Introduce new hypervisor-cpu-models command
Added a new virsh command ``hypervisor-cpu-models``. The command pulls from
the existing domcapabilities XML and uses xpath to parse CPU model strings.
By default, only models reported as usable by the hypervisor on the host
system are printed. A user may specify ``--all`` to also print models which
are not supported on the host.
* qemu: Introduce os/shim element
For secure boot environments where ``<loader/>`` is signed, it may be
unfeasible to keep the binary up to date (esp. when revoking certificates
contained within). To address that, new ``<shim/>`` element is introduced
which allows hypervisor to side load another UEFI binary, which can then
contain new certification authorities and/or list of revocations.
* ch: Enable SEV SNP support
Cloud Hypervisor guests can be now started with SEV SNP enabled.
* qemu: Support for Block Disk Along with Throttle Filters
Introduce support for multiple throttle groups per block disk in QEMU,
enhancing I/O control and performance optimization. This update builds
on the existing throttling functionality by allowing more granular control
with the ability to assign different throttle groups to multiple block
devices, improving shared throttling across devices.
* Improvements
* qemu: Improved guest agent corner case error reporting
The APIs using the guest agent now report two specific error codes aimed at
helping management applications/users to differentiate between timeout
while libvirt was synchronizing with the guest agent and timeout after a
command was already sent.
The new error codes are ``VIR_ERR_AGENT_COMMAND_TIMEOUT`` and
``VIR_ERR_AGENT_COMMAND_FAILED``.
* qemu: Use common check for shared memory use for ``vhost-user`` network devices
Historically libvirt printed only a warning if the ``vhost-user`` network
was misconfigured. Since we enforce proper configuration for other device
types using ``vhost-user`` it is now enforced also for network devices and
prints an actual error on misconfiguration.
* Introduce constants for discoverability of entries in bulk stats APIs
Libvirt introduced constants exposed by our API description XML which allows
discoverability of new entries in typed parameter names returned by
``virConnectGetAllDomainStats``, ``virDomainListGetStats``, and
``virDomainGetGuestInfo``.
* qemu: Reflect MAC address change in live domain XML
When a guest changes MAC address on one of its vNICs the new MAC address is
now visible in the live XML under ``currentAddress`` attribute of
``<mac/>`` element. At the same time,
``VIR_DOMAIN_EVENT_ID_NIC_MAC_CHANGE`` event is emitted so that management
applications can update their internal state.
* Bug fixes
* qemu: attach virtio-mem with CCW address
Attaching a virtio-mem device on s390 without an address type now gets a
default type CCW address assigned. A specified CCW address is now used for
the virtio-mem device instead of getting overwritten by a PCI address.
* ch: Various memory leak fixes
There were some memory leaks identified in the Cloud Hypervisor driver.
They are fixed now.
Enjoy.
Jirka
3 weeks, 6 days
[libvirt PATCH 0/7] Deprecate the QEMU driver
by Ján Tomko
See patch 3/7 (7/3 for Americans) for the reasoning
Ján Tomko (7):
Add a copy of the Sandwich license
remote: do not generate the qemu protocol header
Deprecate the QEMU driver
meson: remove all references to QEMU
Remove src/qemu/
tests: remove qemu
NEWS: Document the QEMU driver removal
COPYING.Sandwich | 6 +
NEWS.rst | 64 +-
docs/html/meson.build | 2 +-
docs/manpages/meson.build | 4 -
docs/meson.build | 7 +-
libvirt.spec.in | 2 +-
meson.build | 97 +-
src/meson.build | 64 +-
src/qemu/libvirt-qemu.sysusers.conf | 4 -
src/qemu/libvirt_qemu_probes.d | 22 -
[...]
src/qemu/qemu_shim.c | 418 -
src/qemu/qemu_slirp.c | 348 -
src/qemu/qemu_slirp.h | 72 -
src/qemu/qemu_snapshot.c | 4661 --
src/qemu/qemu_snapshot.h | 91 -
src/qemu/qemu_tpm.c | 1377 -
src/qemu/qemu_tpm.h | 70 -
src/qemu/qemu_validate.c | 5616 --
src/qemu/qemu_validate.h | 46 -
src/qemu/qemu_vhost_user.c | 512 -
src/qemu/qemu_vhost_user.h | 59 -
src/qemu/qemu_vhost_user_gpu.c | 251 -
src/qemu/qemu_vhost_user_gpu.h | 48 -
src/qemu/qemu_virtiofs.c | 481 -
src/qemu/qemu_virtiofs.h | 45 -
src/qemu/test_libvirtd_qemu.aug.in | 138 -
src/qemu/virtqemud.init.in | 26 -
src/qemu/virtqemud.service.extra.in | 18 -
src/qemu/virtqemud.socket.extra.in | 2 -
src/remote/meson.build | 12 +-
src/remote/qemu_protocol.h | 23 +
src/security/apparmor/meson.build | 4 +-
tests/meson.build | 101 -
tests/qemuagentdata/fsinfo.xml | 39 -
tests/qemuagenttest.c | 1442 -
tests/qemublocktest.c | 1395 -
.../backupmerge/basic-deep-out.json | 25 -
.../backupmerge/basic-flat-out.json | 25 -
.../backupmerge/basic-intermediate-out.json | 25 -
.../backupmerge/empty-out.json | 1 -
.../backupmerge/snapshots-deep-out.json | 41 -
tests/qemuxmlconfdata/x86_64-pc-graphics.xml | 56 -
[...]
.../x86_64-pc-headless.x86_64-latest.args | 48 -
.../x86_64-pc-headless.x86_64-latest.xml | 78 -
tests/qemuxmlconfdata/x86_64-pc-headless.xml | 51 -
...4-pc-minimal.x86_64-latest.abi-update.args | 33 -
...64-pc-minimal.x86_64-latest.abi-update.xml | 31 -
.../x86_64-pc-minimal.x86_64-latest.args | 33 -
.../x86_64-pc-minimal.x86_64-latest.xml | 31 -
tests/qemuxmlconfdata/x86_64-pc-minimal.xml | 12 -
...fault-models.x86_64-latest.abi-update.args | 47 -
...efault-models.x86_64-latest.abi-update.xml | 71 -
...6_64-q35-default-models.x86_64-latest.args | 47 -
...86_64-q35-default-models.x86_64-latest.xml | 71 -
.../x86_64-q35-default-models.xml | 24 -
.../x86_64-q35-graphics.x86_64-latest.args | 59 -
.../x86_64-q35-graphics.x86_64-latest.xml | 125 -
tests/qemuxmlconfdata/x86_64-q35-graphics.xml | 56 -
.../x86_64-q35-headless.x86_64-latest.args | 57 -
.../x86_64-q35-headless.x86_64-latest.xml | 117 -
tests/qemuxmlconfdata/x86_64-q35-headless.xml | 51 -
...-q35-minimal.x86_64-latest.abi-update.args | 38 -
...4-q35-minimal.x86_64-latest.abi-update.xml | 50 -
.../x86_64-q35-minimal.x86_64-latest.args | 38 -
.../x86_64-q35-minimal.x86_64-latest.xml | 50 -
tests/qemuxmlconfdata/x86_64-q35-minimal.xml | 12 -
tests/qemuxmlconftest.c | 3032 --
tools/meson.build | 16 -
tools/wireshark/src/libvirt/meson.build | 2 -
4381 files changed, 82 insertions(+), 1491066 deletions(-)
Tell me, isn't that beautiful?
create mode 100644 COPYING.Sandwich
delete mode 100644 src/qemu/libvirt-qemu.sysusers.conf
delete mode 100644 src/qemu/libvirt_qemu_probes.d
delete mode 100644 src/qemu/libvirtd_qemu.aug
delete mode 100644 src/qemu/meson.build
delete mode 100644 src/qemu/postcopy-migration.sysctl
delete mode 100644 src/qemu/qemu.conf.in
delete mode 100644 src/qemu/qemu_agent.c
delete mode 100644 src/qemu/qemu_agent.h
delete mode 100644 src/qemu/qemu_alias.c
delete mode 100644 src/qemu/qemu_alias.h
delete mode 100644 src/qemu/qemu_backup.c
delete mode 100644 src/qemu/qemu_backup.h
delete mode 100644 src/qemu/qemu_block.c
delete mode 100644 src/qemu/qemu_block.h
delete mode 100644 src/qemu/qemu_blockjob.c
delete mode 100644 src/qemu/qemu_blockjob.h
delete mode 100644 src/qemu/qemu_capabilities.c
delete mode 100644 src/qemu/qemu_capabilities.h
delete mode 100644 src/qemu/qemu_capspriv.h
delete mode 100644 src/qemu/qemu_cgroup.c
delete mode 100644 src/qemu/qemu_cgroup.h
delete mode 100644 src/qemu/qemu_chardev.c
delete mode 100644 src/qemu/qemu_chardev.h
delete mode 100644 src/qemu/qemu_checkpoint.c
delete mode 100644 src/qemu/qemu_checkpoint.h
delete mode 100644 src/qemu/qemu_command.c
delete mode 100644 src/qemu/qemu_command.h
delete mode 100644 src/qemu/qemu_conf.c
delete mode 100644 src/qemu/qemu_conf.h
delete mode 100644 src/qemu/qemu_dbus.c
delete mode 100644 src/qemu/qemu_dbus.h
delete mode 100644 src/qemu/qemu_domain.c
delete mode 100644 src/qemu/qemu_domain.h
delete mode 100644 src/qemu/qemu_domain_address.c
delete mode 100644 src/qemu/qemu_domain_address.h
delete mode 100644 src/qemu/qemu_domainjob.c
delete mode 100644 src/qemu/qemu_domainjob.h
delete mode 100644 src/qemu/qemu_driver.c
delete mode 100644 src/qemu/qemu_driver.h
delete mode 100644 src/qemu/qemu_extdevice.c
delete mode 100644 src/qemu/qemu_extdevice.h
delete mode 100644 src/qemu/qemu_fd.c
delete mode 100644 src/qemu/qemu_fd.h
delete mode 100644 src/qemu/qemu_firmware.c
delete mode 100644 src/qemu/qemu_firmware.h
delete mode 100644 src/qemu/qemu_hostdev.c
delete mode 100644 src/qemu/qemu_hostdev.h
delete mode 100644 src/qemu/qemu_hotplug.c
delete mode 100644 src/qemu/qemu_hotplug.h
delete mode 100644 src/qemu/qemu_interface.c
delete mode 100644 src/qemu/qemu_interface.h
delete mode 100644 src/qemu/qemu_interop_config.c
delete mode 100644 src/qemu/qemu_interop_config.h
delete mode 100644 src/qemu/qemu_migration.c
delete mode 100644 src/qemu/qemu_migration.h
delete mode 100644 src/qemu/qemu_migration_cookie.c
delete mode 100644 src/qemu/qemu_migration_cookie.h
delete mode 100644 src/qemu/qemu_migration_params.c
delete mode 100644 src/qemu/qemu_migration_params.h
delete mode 100644 src/qemu/qemu_migration_paramspriv.h
delete mode 100644 src/qemu/qemu_monitor.c
delete mode 100644 src/qemu/qemu_monitor.h
delete mode 100644 src/qemu/qemu_monitor_json.c
delete mode 100644 src/qemu/qemu_monitor_json.h
delete mode 100644 src/qemu/qemu_monitor_priv.h
delete mode 100644 src/qemu/qemu_monitor_text.c
delete mode 100644 src/qemu/qemu_monitor_text.h
delete mode 100644 src/qemu/qemu_namespace.c
delete mode 100644 src/qemu/qemu_namespace.h
delete mode 100644 src/qemu/qemu_nbdkit.c
delete mode 100644 src/qemu/qemu_nbdkit.h
delete mode 100644 src/qemu/qemu_nbdkitpriv.h
delete mode 100644 src/qemu/qemu_passt.c
delete mode 100644 src/qemu/qemu_passt.h
delete mode 100644 src/qemu/qemu_postparse.c
delete mode 100644 src/qemu/qemu_postparse.h
delete mode 100644 src/qemu/qemu_process.c
delete mode 100644 src/qemu/qemu_process.h
delete mode 100644 src/qemu/qemu_processpriv.h
delete mode 100644 src/qemu/qemu_qapi.c
delete mode 100644 src/qemu/qemu_qapi.h
delete mode 100644 src/qemu/qemu_rdp.c
delete mode 100644 src/qemu/qemu_rdp.h
delete mode 100644 src/qemu/qemu_saveimage.c
delete mode 100644 src/qemu/qemu_saveimage.h
delete mode 100644 src/qemu/qemu_security.c
delete mode 100644 src/qemu/qemu_security.h
delete mode 100644 src/qemu/qemu_shim.c
delete mode 100644 src/qemu/qemu_slirp.c
delete mode 100644 src/qemu/qemu_slirp.h
delete mode 100644 src/qemu/qemu_snapshot.c
delete mode 100644 src/qemu/qemu_snapshot.h
delete mode 100644 src/qemu/qemu_tpm.c
delete mode 100644 src/qemu/qemu_tpm.h
delete mode 100644 src/qemu/qemu_validate.c
delete mode 100644 src/qemu/qemu_validate.h
delete mode 100644 src/qemu/qemu_vhost_user.c
delete mode 100644 src/qemu/qemu_vhost_user.h
delete mode 100644 src/qemu/qemu_vhost_user_gpu.c
delete mode 100644 src/qemu/qemu_vhost_user_gpu.h
delete mode 100644 src/qemu/qemu_virtiofs.c
delete mode 100644 src/qemu/qemu_virtiofs.h
delete mode 100644 src/qemu/test_libvirtd_qemu.aug.in
delete mode 100644 src/qemu/virtqemud.init.in
delete mode 100644 src/qemu/virtqemud.service.extra.in
delete mode 100644 src/qemu/virtqemud.socket.extra.in
create mode 100644 src/remote/qemu_protocol.h
delete mode 100644 tests/qemuagentdata/fsinfo.xml
delete mode 100644 tests/qemuagenttest.c
delete mode 100644 tests/qemublocktest.c
delete mode 100644 tests/qemublocktestdata/backupmerge/basic-deep-out.json
delete mode 100644 tests/qemublocktestdata/backupmerge/basic-flat-out.json
delete mode 100644 tests/qemublocktestdata/backupmerge/basic-intermediate-out.json
delete mode 100644 tests/qemublocktestdata/backupmerge/empty-out.json
delete mode 100644 tests/qemublocktestdata/backupmerge/snapshots-deep-out.json
delete mode 100644 tests/qemublocktestdata/backupmerge/snapshots-flat-out.json
delete mode 100644 tests/qemublocktestdata/backupmerge/snapshots-intermediate-out.json
[...]
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.args
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.xml
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-default-models.xml
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-graphics.x86_64-latest.args
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-graphics.x86_64-latest.xml
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-graphics.xml
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-headless.x86_64-latest.args
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-headless.x86_64-latest.xml
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-headless.xml
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-minimal.x86_64-latest.abi-update.args
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-minimal.x86_64-latest.abi-update.xml
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-minimal.x86_64-latest.args
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-minimal.x86_64-latest.xml
delete mode 100644 tests/qemuxmlconfdata/x86_64-q35-minimal.xml
delete mode 100644 tests/qemuxmlconftest.c
--
2.49.0
3 weeks, 6 days
[PATCH 0/8] Support FD passing for the NBD server socket used for backup
by Peter Krempa
See 6/8 for justification.
Peter Krempa (8):
virDomainStorageNetworkParseHost: Remove unpopulated 'transport'
variable
virDomainStorageNetworkParseHost: Refactor cleanup
conf: Introduce VIR_STORAGE_NET_HOST_TRANS_FD
virStorageNetHostDefClear: Move into virStorageNetHostDefFree
qemu: monitor: Support FD passing of sockets to
'qemuMonitorJSONNBDServerStart'
backup: Add support for passing server socket file descriptor to
backup NBD server
tests: domainbackupxml2xml: Add test case for pull-mode backup with
NBD transport='fd'
qemu: monitor: Improve field annotations in QEMU_CHECK_MONITOR
docs/formatbackup.rst | 21 +++++
src/conf/backup_conf.c | 3 +-
src/conf/domain_conf.c | 93 ++++++++++++-------
src/conf/domain_conf.h | 3 +-
src/conf/schemas/domainbackup.rng | 6 ++
src/conf/storage_source_conf.c | 20 ++--
src/conf/storage_source_conf.h | 7 +-
src/libvirt_private.syms | 1 -
src/qemu/qemu_backup.c | 28 ++++++
src/qemu/qemu_block.c | 1 +
src/qemu/qemu_monitor.c | 2 +-
src/qemu/qemu_monitor_json.c | 21 +++++
.../storage_file_backend_gluster.c | 1 +
.../domainbackupxml2xmlin/backup-pull-fd.xml | 22 +++++
.../domainbackupxml2xmlout/backup-pull-fd.xml | 23 +++++
tests/genericxml2xmltest.c | 1 +
16 files changed, 198 insertions(+), 55 deletions(-)
create mode 100644 tests/domainbackupxml2xmlin/backup-pull-fd.xml
create mode 100644 tests/domainbackupxml2xmlout/backup-pull-fd.xml
--
2.49.0
3 weeks, 6 days