Release of libvirt-7.9.0
by Jiri Denemark
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
3 years, 1 month
[PATCH v2 0/4] MAINTAINERS: Sanitize 'MIPS TCG CPUs' section
by Philippe Mathieu-Daudé
Move various files unrelated to MIPS TCG frontend into
new sections.
Since v1:
- Do not add Paul without his consent
- un-deprecate nanoMIPS
Philippe Mathieu-Daudé (4):
MAINTAINERS: Add MIPS general architecture support entry
MAINTAINERS: Add entries to cover MIPS CPS / GIC hardware
MAINTAINERS: Split MIPS TCG frontend vs MIPS machines/hardware
MAINTAINERS: Agree to maintain nanoMIPS TCG frontend
docs/about/deprecated.rst | 23 ---------------------
MAINTAINERS | 43 +++++++++++++++++++++++++--------------
2 files changed, 28 insertions(+), 38 deletions(-)
--
2.31.1
3 years, 1 month
for rbd, how to use qmp directly to add dick
by longguang.yue
Hi, all:
in my case, i need to add device via qmp. but for rbd drive needs a secret object. how to produce secret object.
'base64 -d' outputs unreadable code .
-object
secret,id=virtio-disk0-secret0,data=2YVH6svMZa42RfVx8MbIIVjtU6iGO8QzFADuDnLk7BU=,keyid=masterKey0,iv=/m3QyHQ33NeMEfDDMuDEeg==,format=base64
thanks
3 years, 1 month
[libvirt PATCH v2 0/3] PCI VPD: Handle More Edge Cases
by Dmitrii Shcherbakov
This patch set improves edge case testing:
* The parser is now more strict about checking boundary conditions when
parsing fields: an invalid field length is a possibility which is
now being accounted for;
* The parser will now make sure that RV and RW fields are the last
in their section by making sure that no more data is left to read
after those;
* The RW field in the read-write section is not considered a VPD format
violation even though it is a violation of the spec since it does not
prevent Libvirt from parsing valid data for presenting it to a user.
This is a policy decision made by Libvirt in favor of usability with
hardware that does not strictly follow the PCI/PCIe VPD spec.
Invalid field values are now skipped instead of halting further parsing
completely.
Some vendors use 0xFF as placeholders in VPD-W since those values do not
correspond to printable ASCII characters, they will be discarded,
however, parsing will continue beyond that point.
Also, it turns out that some vendors use printable ASCII characters not
present in the alphanumeric range. Following a mailing list discussion
Libvirt will accept printable ASCII characters to avoid cases where
useful data is discarded.
https://listman.redhat.com/archives/libvir-list/2021-October/msg01043.html
Higher-level software needs to account for this character set and act
accordingly.
For example, the outcome of this is that one may get "N/A" as a value
for a serial number that is supposed to be unique, however, there is
no way for Libvirt to validate serial number uniqueness anyway even if
it was a different character sequence.
https://gitlab.com/dmitriis/libvirt/-/pipelines/398517951
(x86_64 only, have not set up arch-specific runners yet and over the
limit of what gitlab provides)
Dmitrii Shcherbakov (3):
PCI VPD: handle additional edge cases
PCI VPD: Skip fields with invalid values
PCI VPD: Fix a wrong return code in a test case
src/util/virpcivpd.c | 63 +++++++---
tests/virpcivpdtest.c | 263 ++++++++++++++++++++++++++++++++++++++++--
2 files changed, 296 insertions(+), 30 deletions(-)
--
2.32.0
3 years, 1 month