[libvirt] Release of libvirt-3.4.0

Daniel Veillard veillard at redhat.com
Fri Jun 2 07:25:56 UTC 2017

  It's out ! The release is tagged in git, the tree is open ! I pushed
the signed tartball and rpms to the usual place:


I also rolled out the libvirt-python-3.4.0 release that you can find at


  This is a feature and improvements driven release, as you can see below
there is a number of point with direct user visible improvements:

* New features

- Improved streams to efficiently transfer sparseness
  New extension to virStream was implemented so that
  virStorageVolDownload and virStorageVolUpload can preserve file

- I/O APIC type can be specified for QEMU/KVM domains
  The ioapic tag was added to domain features, so the type of the I/O
  APIC can now be specified (e.g. putting it in userspace for KVM

- The reason for VM shutdown is reported, if known
  QEMU 2.10 will be able to report the reason for shutting down (whether
  that was caused by the guest or not), and libvirt is prepared for that
  and reports that information in its shutdown event as well, if it is

* Improvements

- Repository now has new README.md file
  The new file uses markdown syntax, so it looks better on github and
  possibly other web pages, but it has also more useful information. The
  old README is now symlink to the new file.

- qemu: Use GICv2 by default for aarch64/virt TCG guests
  The emulated GICv3 has some limitations that make it unusable as a
  default; use GICv2 until they're sorted out. This change makes it once
  again possible to run aarch64/virt guests on a x86_64 host without
  having to tweak their configuration.

- Additional capabilities for the node_device module
  Introduce two new capabilities to the node_device module. The first is
  for CCW devices, most common on the S390 architecture. The second is
  for fibre channel-backed SCSI devices and exposes the fc_remote_port
  sub-capability to SCSI target devices.

- Node devices now report Mediated device capabilities
  Endpoint devices support new mdev capability and their parents now
  report the supported types in new mdev_types capability.

- Capabilities now report information about host caches
  If supported in the kernel, host capabilities will now list L3 caches.
  The code for other levels was added as well, but only L3 caches are
  reported currently.

- POWER9 CPU model was added
  It is now properly reported in host capabilities.

- libxl: NUMA sibling distances are now reported in host capabilities

- VMDK version 3 files are now properly detected

- Interrupt remapping and Extended interrupt mode for IOMMU devices
  These two new features can now be controlled with new <driver
  intremap='on/off' eim='on/off'/> tag for iommu devices.

- Graphics in libxl domains now have default addresses
  Even though there were default addresses before this change, they were
  not saved in the XML. It is now possible to see and control the listen
  addresses properly.

- Default USB controllers are now added for devices in libxl domains
  Even though they were added automatically when USB device was attached,
  they could've been missing in some other cases. The logic is now fixed
  so there are always USB controllers, even if there was none of them in
  the specified XML.

- Limits for RPC messages were increased
  Hitting the RPC limits we have is easier every day, so they were
  increased once again and some guessing logic was improved as well. It
  is now possible to get more stats than ever using the
  virConnectGetAllDomainStats() call and push through even bigger
  requests and replies for all APIs.

* Bug fixes

- qemu: Create memory_backing_dir on startup
  Libvirt's policy is that directories are created on startup if they
  don't exist. We've missed this one.

- PCIe 4.0 cards now report proper link speeds
  It could happen that the link speed for PCIe devices was not properly
  reported or the nodedev-dumpxml just failed. That was due to mistake in
  the field width, but should now work properly.

- qemu: Do not report errors on shutdown
  For some users, in some rare cases, it could happen that there was an
  error message "internal error: End of file from qemu monitor" in the
  logs even though no problem happened. The detection of these false
  positives was improved and such errors should not show any more.

- User-specified UNIX socket paths for virtio channels should not be reset
  It could happen, in some cases, that libvirt would mistake a
  user-specified path for its own generated one and thus remove it from
  the XML. The detection of such addresses was improved now.

- Fix address reservation during RNG hot-plug
  When error occurred in a specific point in time during the hot-plug of
  an RNG device, it could happen that an address was released even though
  another device was already using it, making it possible to hot-plug
  another device with that address, effectively having duplicated
  addresses in the XML.

  Thanks everybody for your help with the release, be it code, reviews, bug
reports, doc, etc!

    Enjoy !


Daniel Veillard      | Red Hat Developers Tools http://developer.redhat.com/
veillard at redhat.com  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | virtualization library  http://libvirt.org/

More information about the libvir-list mailing list