[libvirt PATCH] rpm: fix typo in post transaction scriptlet name
by Daniel P. Berrangé
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
libvirt.spec.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index b01379d242..624b0e0302 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1441,7 +1441,7 @@ fi
%preun daemon-driver-secret
%libvirt_daemon_systemd_preun virtsecretd
-%posttranstrans daemon-driver-secret
+%posttrans daemon-driver-secret
%libvirt_daemon_perform_restart virtsecretd
--
2.31.1
3 years
[PATCH 0/1] qemu: add virtio-blk queue-size option
by Hiroki Narukawa
Hello,
The option "queue-size" in virtio-blk was added in qemu-2.12.0, and default value increased from qemu-5.0.0.
However, increasing this value may lead to drop of random access performance.
This is configurable value, so we want to use it via libvirt.
Could you review this patch?
Hiroki Narukawa (1):
qemu: add virtio-blk queue-size option
docs/schemas/domaincommon.rng | 5 +++
src/conf/domain_conf.c | 6 ++++
src/conf/domain_conf.h | 1 +
src/qemu/qemu_capabilities.c | 5 +++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 3 ++
src/qemu/qemu_validate.c | 7 ++++
.../caps_2.12.0.aarch64.xml | 1 +
.../caps_2.12.0.s390x.xml | 1 +
.../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1 +
.../caps_3.0.0.riscv32.xml | 1 +
.../caps_3.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_3.0.0.s390x.xml | 1 +
.../caps_3.0.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1 +
.../caps_3.1.0.x86_64.xml | 1 +
.../caps_4.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
.../caps_4.0.0.riscv32.xml | 1 +
.../caps_4.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
.../caps_4.0.0.x86_64.xml | 1 +
.../caps_4.1.0.x86_64.xml | 1 +
.../caps_4.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
.../caps_4.2.0.x86_64.xml | 1 +
.../caps_5.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
.../caps_5.0.0.riscv64.xml | 1 +
.../caps_5.0.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 +
.../caps_5.1.0.x86_64.xml | 1 +
.../caps_5.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 +
.../caps_5.2.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 +
.../caps_5.2.0.x86_64.xml | 1 +
.../caps_6.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 +
.../caps_6.0.0.x86_64.xml | 1 +
.../caps_6.1.0.x86_64.xml | 1 +
.../disk-virtio-queue-size.args | 29 +++++++++++++++
.../disk-virtio-queue-size.xml | 35 +++++++++++++++++++
tests/qemuxml2argvtest.c | 2 ++
.../disk-virtio-queue-size.xml | 35 +++++++++++++++++++
tests/qemuxml2xmltest.c | 1 +
47 files changed, 165 insertions(+)
create mode 100644 tests/qemuxml2argvdata/disk-virtio-queue-size.args
create mode 100644 tests/qemuxml2argvdata/disk-virtio-queue-size.xml
create mode 100644 tests/qemuxml2xmloutdata/disk-virtio-queue-size.xml
--
2.17.1
3 years
[PATCH] qemuProcessSetupDisksTransientHotplug: Add checking set-action capability
by Masayoshi Mizuma
From: Masayoshi Mizuma <m.mizuma(a)jp.fujitsu.com>
The VM is terminated abnormally when <transient shareBacking='yes'/>
is set to the disk option and the qemu doesn't have set-action capability.
# virsh start guest01
error: Failed to start domain 'guest01'
error: internal error: qemu unexpectedly closed the monitor
#
Add checking the capability before system_reset QMP command is sent
so that the VM can stop correctly when the qemu doesn't have the cap.
Signed-off-by: Masayoshi Mizuma <m.mizuma(a)jp.fujitsu.com>
---
src/qemu/qemu_process.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 3b4af61bf8..4bedd04679 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -7010,6 +7010,9 @@ qemuProcessSetupDisksTransientHotplug(virDomainObj *vm,
if (hasHotpluggedDisk) {
int rc;
+ if (!(virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_SET_ACTION)))
+ return -1;
+
if (qemuDomainObjEnterMonitorAsync(priv->driver, vm, asyncJob) < 0)
return -1;
--
2.27.0
3 years
Entering freeze for libvirt-7.7.0
by Jiri Denemark
I have just tagged v7.7.0-rc1 in the repository and pushed signed
tarballs and source RPMs to https://libvirt.org/sources/
Please give the release candidate some testing and in case you find a
serious issue which should have a fix in the upcoming release, feel
free to reply to this thread to make sure the issue is more visible.
If you have not done so yet, please update NEWS.rst to document any
significant change you made since the last release.
Thanks,
Jirka
3 years
[PATCH] qemu: fix iothread residual when qemuProcessSetupIOThread failed
by Wang Xin
From: Lei Yang <yanglei209(a)huawei.com>
In process of iothread hotplug, qemuDomainHotplugAddIOThread() calls
qemuProcessSetupIOThread(). When qemuProcessSetupIOThread() returned
a failure, only the cgroup directory 'iothread' was cleaned up within
the function. Right after that qemuDomainHotplugAddIOThread() would
return failure directly without rolling back the livedef and iothread
process that created previously.
Further, when 'virsh schedinfo domain --live' requires schedinfo of
such machine, the interface will always return a failure print as
follows: 'Failed to create v1 controller cpu for group: No such file
or directory'. The reason is qemuGetIOThreadsBWLive() using member
vm->def->iothreadids[0]->iothread_id to findout the corresponding
cgroup dircetory. In case mentioned previously, iothreadids[0] was not
been cleaned up while whose cgroup directroy has already been removed.
This patch rolls back the livedef and iothread process after
qemuProcessSetupIOThread() returned a failure. Of course we are not
limited to this function, we also perform the same rolling back after
any exception proecss in qemuDomainHotplugAddIOThread().
Signed-off-by: Lei Yang <yanglei209(a)huawei.com>
Signed-off-by: Wang Xin <wangxinxin.wang(a)huawei.com>
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
old mode 100644
new mode 100755
index f1f961c51c..4f09e82a13
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -5293,6 +5293,7 @@ qemuDomainHotplugAddIOThread(virQEMUDriver *driver,
qemuMonitorIOThreadInfo **new_iothreads = NULL;
virDomainIOThreadIDDef *iothrid;
virJSONValue *props = NULL;
+ bool objectHasAdded = false;
if (!(alias = g_strdup_printf("iothread%u", iothread_id)))
return -1;
@@ -5305,6 +5306,8 @@ qemuDomainHotplugAddIOThread(virQEMUDriver *driver,
if (qemuMonitorAddObject(priv->mon, &props, NULL) < 0)
goto exit_monitor;
+ objectHasAdded = true;
+
exp_niothreads++;
/* After hotplugging the IOThreads we need to re-detect the
@@ -5352,6 +5355,13 @@ qemuDomainHotplugAddIOThread(virQEMUDriver *driver,
ret = 0;
cleanup:
+ if (ret < 0 && objectHasAdded) {
+ qemuDomainObjEnterMonitor(driver, vm);
+ if (qemuMonitorDelObject(priv->mon, alias, true) < 0)
+ VIR_WARN("del iothread %d of %s failed when cleanup", iothread_id, vm->def->name);
+ ignore_value(qemuDomainObjExitMonitor(driver, vm));
+ }
+
if (new_iothreads) {
for (idx = 0; idx < new_niothreads; idx++)
VIR_FREE(new_iothreads[idx]);
@@ -5360,6 +5370,8 @@ qemuDomainHotplugAddIOThread(virQEMUDriver *driver,
virDomainAuditIOThread(vm, orig_niothreads, new_niothreads,
"update", ret == 0);
virJSONValueFree(props);
+ if (ret < 0)
+ virDomainIOThreadIDDel(vm->def, iothread_id);
return ret;
exit_monitor:
--
2.26.0.windows.1
3 years
[PATCH v3 0/4] Dirty Ring support (Libvirt)
by huangy81@chinatelecom.cn
From: Hyman Huang(黄勇) <huangy81(a)chinatelecom.cn>
v3
- rebase master and fix the confilict when apply
"conf: introduce dirty_ring_size in struct "_virDomainDef" to current
master.
v2
- split patchset into 4 patches
- leave out the tcg case when building commandline.
- handle the VIR_DOMAIN_KVM_DIRTY_RING case independently in ,
virDomainFeatureDefParse and virDomainDefFeaturesCheckABIStability,
do not integrate it with other cases...
- add dirty ring size check in virDomainDefFeaturesCheckABIStability
- modify zero checks on integers of dirty ring size in a explicit way.
- set the default value of dirty ring size in a post-parser callback.
- check the absence of kvm_feature in a explicit way.
- code clean of virTristateSwitchTypeToString function.
this version's modification base on Peter's advices mostly, thanks
a lot, please review !
Best Regards !
Hyman Huang(黄勇)
v1
since qemu has introduced a dirty ring feature in 6.1.0, may be it's
the right time to introduce dirty ring in libvirt meanwhile.
this patch add feature named 'dirty-ring', which enable dirty ring
feature when starting vm. to try this out, three things has done
in this patchset:
- introduce QEMU_CAPS_ACCEL so the the libvirt can use it to select
the right option when specifying the accelerator type.
- switch the option "-machine accel=xxx" to "-accel xxx" when specifying
accelerator type once libvirt build QEMU command line, so that
dirty-ring-size property can be passed to qemu when start vm.
- introduce dirty_ring_size to hold the ring size configured by user
and pass dirty_ring_size when building qemu commandline if dirty
ring feature enabled.
though dirty ring is per-cpu logically, the size of dirty ring is
registered by 'struct kvm' in QEMU. so we would like to place the
dirty_ring_size as a property of vm in Libvirt as the QEMU do.
the dirty ring feature is disabled by default, and if enabled, the
default value of ring size if 4096 if size not configured.
for more details about dirty ring and "-accel" option, please refer to:
https://lore.kernel.org/qemu-devel/20210108165050.406906-10-peterx@redhat...
https://lore.kernel.org/qemu-devel/3aa73987-40e8-3619-0723-9f17f73850bd@r...
please review, Thanks!
Best Regards !
Hyman Huang(黄勇) (4):
qemu_capabilities: introduce QEMU_CAPS_ACCEL
qemu_command: switch accelerator option to new style
conf: introduce dirty_ring_size in struct "_virDomainDef"
qemu: support dirty ring feature
docs/formatdomain.rst | 16 +++--
docs/schemas/domaincommon.rng | 10 +++
src/conf/domain_conf.c | 74 +++++++++++++++++++++-
src/conf/domain_conf.h | 4 ++
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 40 +++++++++++-
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 +
tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 +
...64-default-cpu-kvm-virt-4.2.aarch64-latest.args | 3 +-
.../aarch64-features-sve.aarch64-latest.args | 3 +-
.../channel-unix-guestfwd.x86_64-latest.args | 3 +-
.../clock-timer-armvtimer.aarch64-latest.args | 3 +-
.../console-virtio-unix.x86_64-latest.args | 3 +-
.../cpu-Icelake-Server-pconfig.x86_64-3.1.0.args | 3 +-
.../cpu-Icelake-Server-pconfig.x86_64-latest.args | 3 +-
.../cpu-tsc-frequency.x86_64-4.0.0.args | 3 +-
.../cpu-tsc-high-frequency.x86_64-latest.args | 3 +-
.../default-video-type-aarch64.aarch64-latest.args | 3 +-
.../default-video-type-ppc64.ppc64-latest.args | 3 +-
.../default-video-type-s390x.s390x-latest.args | 3 +-
.../disk-cdrom-network.x86_64-2.12.0.args | 3 +-
.../disk-cdrom-network.x86_64-latest.args | 3 +-
.../disk-network-http.x86_64-latest.args | 3 +-
.../hugepages-memaccess3.x86_64-latest.args | 3 +-
.../intel-iommu-aw-bits.x86_64-latest.args | 3 +-
.../intel-iommu-caching-mode.x86_64-latest.args | 3 +-
.../intel-iommu-device-iotlb.x86_64-latest.args | 3 +-
.../intel-iommu-eim.x86_64-latest.args | 3 +-
...ty-sev-missing-platform-info.x86_64-2.12.0.args | 3 +-
.../launch-security-sev.x86_64-2.12.0.args | 3 +-
.../launch-security-sev.x86_64-6.0.0.args | 3 +-
...emfd-memory-default-hugepage.x86_64-latest.args | 3 +-
.../memfd-memory-numa.x86_64-latest.args | 3 +-
.../memory-hotplug-virtio-pmem.x86_64-5.2.0.args | 3 +-
.../memory-hotplug-virtio-pmem.x86_64-latest.args | 3 +-
.../os-firmware-bios.x86_64-latest.args | 3 +-
...irmware-efi-no-enrolled-keys.x86_64-latest.args | 3 +-
.../os-firmware-efi-secboot.x86_64-latest.args | 3 +-
.../os-firmware-efi.x86_64-latest.args | 3 +-
.../parallel-unix-chardev.x86_64-latest.args | 3 +-
...4-default-cpu-kvm-pseries-2.7.ppc64-latest.args | 3 +-
...4-default-cpu-kvm-pseries-3.1.ppc64-latest.args | 3 +-
...4-default-cpu-kvm-pseries-4.2.ppc64-latest.args | 3 +-
...efault-cpu-kvm-ccw-virtio-2.7.s390x-latest.args | 3 +-
...efault-cpu-kvm-ccw-virtio-4.2.s390x-latest.args | 3 +-
.../smartcard-passthrough-unix.x86_64-latest.args | 3 +-
.../usb-redir-unix.x86_64-latest.args | 3 +-
.../vhost-user-fs-fd-memory.x86_64-latest.args | 3 +-
.../virtio-rng-builtin.x86_64-5.2.0.args | 3 +-
.../virtio-rng-builtin.x86_64-latest.args | 3 +-
.../virtio-rng-egd-unix.x86_64-5.2.0.args | 3 +-
.../virtio-rng-egd-unix.x86_64-latest.args | 3 +-
...86_64-default-cpu-kvm-pc-4.2.x86_64-latest.args | 3 +-
...6_64-default-cpu-kvm-q35-4.2.x86_64-latest.args | 3 +-
91 files changed, 268 insertions(+), 55 deletions(-)
--
1.8.3.1
3 years
[PATCH] NEWS: Move my contributions to correct release
by Michal Privoznik
In previous commit I've documented my contributions for upcoming
7.7.0 release. But unfortunately I've placed the lines into wrong
release (7.6.0).
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
NEWS.rst | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/NEWS.rst b/NEWS.rst
index e8a1f70788..1af934e068 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -40,8 +40,25 @@ v7.7.0 (unreleased)
The qemu driver uses the APIs to label vhostuser ports on hotplug and
restore labeling on unplug.
+ * vmx: Parse vm.genid and support super wide SCSI bus
+
+ The genid attribute is now reported for VMX guests. Libvirt can now
+ properly process super wide SCSI bus (64 units).
+
* **Bug fixes**
+ * qemu: Open chardev logfile on behalf of QEMU
+
+ Guests with a logfile configured for their chardevs are now able to start
+ even when no virtlogd is configured.
+
+ * virhostmem: Handle numactl-less build in hugepages allocation/reporting
+
+ Some architectures don't have notion of NUMA (e.g. s390x) but do support
+ hugepages. Libvirt silently ignored requests to allocate/report hugepage
+ pool when built without numactl. This is now fixed and the pool can be
+ allocated/reported on properly.
+
v7.6.0 (2021-08-02)
===================
@@ -126,11 +143,6 @@ v7.5.0 (2021-07-01)
Since it's impossible to fix it without running into further regressions
the documentation was improved to document the intricacies.
- * vmx: Parse vm.genid and support super wide SCSI bus
-
- The genid attribute is now reported for VMX guests. Libvirt can now
- properly process super wide SCSI bus (64 units).
-
* **Bug fixes**
* qemu: Fixed validation of disk ``iothread`` configuration
@@ -139,18 +151,6 @@ v7.5.0 (2021-07-01)
it caused bogus errors when address wasn't allocated when hotplugging a
disk. The check is now removed as it wasn't actually necessary at all.
- * qemu: Open chardev logfile on behalf of QEMU
-
- Guests with a logfile configured for their chardevs are now able to start
- even when no virtlogd is configured.
-
- * virhostmem: Handle numactl-less build in hugepages allocation/reporting
-
- Some architectures don't have notion of NUMA (e.g. s390x) but do support
- hugepages. Libvirt silently ignored requests to allocate/report hugepage
- pool when built without numactl. This is now fixed and the pool can be
- allocated/reported on properly.
-
v7.4.0 (2021-06-01)
===================
--
2.31.1
3 years
[PATCH] NEWS: Document new '--validate' option for virsh define commands
by Kristina Hanicova
Signed-off-by: Kristina Hanicova <khanicov(a)redhat.com>
---
NEWS.rst | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 21df0e1602..b9edb7dc68 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -19,6 +19,20 @@ v7.7.0 (unreleased)
* **Improvements**
+ * virsh: Allow XML validation for define of: storage pool, network, secret,
+ nwfilter, interface
+
+ * Add flag ``VIR_STORAGE_POOL_DEFINE_VALIDATE`` to validate storage pool
+ input xml. For virsh, users can use it as ``virsh pool-define --validate``.
+ * Add flag ``VIR_NETWORK_DEFINE_VALIDATE`` to validate network input xml. For
+ virsh, users can use it as ``net-define --validate``.
+ * Add flag ``VIR_SECRET_DEFINE_VALIDATE`` to validate secret input xml. For
+ virsh, users can use it as ``secret-define --validate``.
+ * Add flag ``VIR_NWFILTER_DEFINE_VALIDATE`` to validate nwfilter input xml.
+ For virsh, users can use it as ``nwfilter-define --validate``.
+ * Add flag ``VIR_INTERFACE_DEFINE_VALIDATE`` to validate interface input xml.
+ For virsh, users can use it as ``iface-define --validate``.
+
* **Bug fixes**
--
2.31.1
3 years
[PATCH 0/2] NEWS updates for the upcoming release
by Peter Krempa
Note that the changes described in 2/2 are not pushed yet.
Peter Krempa (2):
NEWS: Mention bug with incorrect format recorded for qcow2+luks
overlays
NEWS: Update with description of changes to lifecycle action handling
NEWS.rst | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
--
2.31.1
3 years
[PATCH] NEWS: Mention new SecurityManager APIs for labeling network devices
by Jim Fehlig
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
NEWS.rst | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 21df0e1602..744f445319 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -19,6 +19,13 @@ v7.7.0 (unreleased)
* **Improvements**
+ * Add SecurityManager APIs for labeling network devices
+
+ New ``virSecurityManagerSetNetdevLabel`` and ``virSecurityManagerSetNetdevLabel``
+ APIs are introduced and implemented in the Apparmor security driver.
+ The qemu driver uses the APIs to label vhostuser ports on hotplug and
+ restore labeling on unplug.
+
* **Bug fixes**
--
2.32.0
3 years