The 7.9.0 release of both libvirt and libvirt-python is tagged and
signed tarballs and source RPMs are available at
https://libvirt.org/sources/
https://libvirt.org/sources/python/
Thanks everybody who helped with this release by sending patches,
reviewing, testing, or providing feedback. Your work is greatly
appreciated.
* New features
* Introduce virtio-mem ``<memory/>`` model
New virtio-mem model is introduced for ``<memory/>`` device which is a
paravirtualized mechanism of adding/removing memory to/from a VM. Use
``virDomainUpdateDeviceFlags()`` API to adjust amount of memory or ``virsh
update-memory-device`` for convenience.
* qemu: support disabling hotplug of devices on the pci-root controller
the <target hotplug='on|off'/> option is now supported for the
pci-root controller on i440fx-based (x86 "pc") machinetypes. This
can be used to disable hotplug/unplug of devices from this
controller. The default behavior is unchanged (hotplug is
allowed).
* Support hotplug and hotunplug for virtiofs
Filesystems backed by virtiofsd can now be hotplugged and hotunplugged.
* virpcivpd: Add a PCI VPD parser
A parser for the standard PCI/PCIe VPD ("I.3. VPD Definitions" in PCI 2.2+
and an equivalent definition in "6.28.1 VPD Format" PCIe 4.0) was added
along with relevant types to represent PCI VPD in memory. This
functionality got added for Linux only at this point (kernels above
v2.6.26 have support for exposing VPD via sysfs).
* virpci: Add PCI VPD-related helper functions to virpci
In order to utilize the PCI VPD parser, a couple of helper functions got
introduced to check for the presence of a VPD file in the sysfs tree and
to invoke the PCI VPD parser to get a list of resources representing PCI
VPD contents in memory.
* nodedev: Add PCI VPD capability support
Support for serializing and deserializing PCI VPD data structures is added
following the addition of the PCI VPD parser. A new PCI device capability
called "vpd" is introduced holding string resources and keyword resources
found in PCI VPD.
* qemu: Support page_per_vq for driver element
This optional virtio attribute ``page_per_vq`` controls the layout of the
notification capabilities exposed to the guest. It is recommended for the
vDPA devices.
* qemu: Support librbd encryption
Add an encryption engine ``librbd``. It will provides the image-level
encryption of librbd. It requires QEMU >= 6.1.0 and librbd >= 16.1.0.
* Improvements
* Use of JSON syntax with ``-device`` with upcoming QEMU-6.2
Libvirt started using JSON directly with the ``-device`` commandline
parameter as it's considered the preferred stable syntax for further QEMU
releases. If any problems with the conversion are encountered please
report them as soon as possible.
* Bug fixes
* qemu: Fix problems on ``virsh domstats`` with qemu <5.2.0
Libvirt v7.2.0 and later called query-dirty-rate, which was introduced in
qemu-5.2.0, regardless of qemu version and failed in qemu-5.1.0. This
release fixes the bug.
* Don't enter endless loop when unable to accept new clients
If libvirtd (or any other daemon) hit the ulimit for maximum number of open
files but there are still client connections pending then libvirtd (or
corresponding split daemon) would enter an endless loop from which it would
never recover. This behaviour is now fixed.
* qemu: Run secondary driver hooks in split daemon mode
Because of a bug in implementation it may happen that hooks from secondary
drivers were not called in all cases, for instance a network hook wasn't
called upon removal of interface after domain shut off itself. With this
release the bug is fixed.
Enjoy.
Jirka