As planned it's out, tagged in git, source tarball and rpms are
available as usual from:
ftp://libvirt.org/libvirt/
This is a rather large release for the month of July, close to 300
commits, mostly around incremental improvements and bug fixes. There
is a new API however:
Features:
- Introduce virConnectGetDomainCapabilities (Michal Privoznik)
Documentation:
- bhyve: document recent changes (Roman Bogorodskiy)
- fix an incorrect example for memoryBacking (Chen Hanxiao)
- libvirt-guests: fix some typos in a comment (Martin Kletzander)
- libvirt: Fix 'quest' typo in comment (Li Yang)
- Point to list of valid pool target volume formats (John Ferlan)
- Documented VIR_DOMAIN_FEATURE_CAPABILITIES use of virDomainCapabilitesPolicy (Cédric
Bosdonnat)
- Explicitly specify how to override spice channel mode (Peter Krempa)
- add domain to address of hostdev pci (Hu Tao)
- domain: Clarify that disk type 'lun' works with iSCSI too (Peter Krempa)
- esx: Fix a comment about VSphere versions (Geoff Hickey)
- virsh: Document bandwidth maximum more clearly (John Ferlan)
- mention more about older capability feature bits (Eric Blake)
- Be more specific about semantics of _REUSE_EXT flag (Peter Krempa)
- Document that snapshot name of block-backed disk isn't autogenerated (Peter Krempa)
- virsh: document the possibility of accepting integers for numatune mode (Martin
Kletzander)
- Document the need to free vir*Ptr objects per-function (Ján Tomko)
- Document the need to free vir*Ptr objects (Ján Tomko)
- LXC: fix an improper comments for lxcDomainDestroyFlags (Chen Hanxiao)
- formatdomain.html fixes (Michele Paolino)
- Fix broken link in the HACKING page (Michele Paolino)
- formatdomain: Fix issues found describing auth (John Ferlan)
- LXC: update comments of lxcDomainCreateXMLWithFiles() and lxcDomainCreateXML() (Yue
wenyuan)
Portability:
- build: fix build on cygwin (Eric Blake)
- domtop: Fix build on mingw (Michal Privoznik)
- build: fix build without numactl (Eric Blake)
- Fix build on non-Linux platforms (Roman Bogorodskiy)
- check for cfg->spiceTLS earlier in qemuProcessSPICEAllocatePorts (Ján Tomko)
- build: package .pc files for mingw64 (Eric Blake)
- build: fix gnulib build for mingw (Eric Blake)
- util: cgroup: Fix build on non-cgroup platforms (Peter Krempa)
- Don't require iptables-ipv6 on >= F17 and RHEL >= 7 (Ján Tomko)
- tools/wireshark: fix rpm build (Pavel Hrdina)
- tests: Avoid double linking some libraries (Michal Privoznik)
Bug fixes:
- network: always set disable_ipv6, even when it should be 0 (Laine Stump)
- Fix a crash when cloning a volume with no backing store (Ján Tomko)
- qemu: error out if PCI passthrough type is not supported (Hu Tao)
- storage: create: Create files with correct mode (Peter Krempa)
- nodedev: fix a uninitialized variable build failure (Chen Hanxiao)
- nodedev: fix pci express memory leak (Eric Blake)
- qemu: sound: Fix uninitialized model string (Peter Krempa)
- qemu: Fix starting of VMs with empty CDROM drives (Peter Krempa)
- util: virTimeFieldsThenRaw never returns negative (James)
- qemu: cgroup: Don't use NULL path on default backed RNGs (Peter Krempa)
- qemuConnectGetDomainCapabilities: Report error on unknown arch (Michal Privoznik)
- remove range checking for blkiotune weight (Martin Kletzander)
- qemuConnectGetDomainCapabilities: Use wiser defaults (Michal Privoznik)
- leaseshelper: avoid mem leak after storing lease entries (Nehal J Wani)
- conf: avoid memory leaks while parsing seclabel (Eric Blake)
- nwfilter: plug memory leak with firewall (Eric Blake)
- metadata: track title edits across libvirtd restart (Eric Blake)
- Fix build after 47e5b5ae3262f140955abd57bbb13337c65a3497 (Peter Krempa)
- qemu: snapshot: Forbid taking/reverting snapshots in PMSUSPENDED state (Peter Krempa)
- qemu: snapshot: Forbid taking snapshot in invalid state (Peter Krempa)
- schema: pool: netfs: Don't enforce slash in glusterfs pool source (Peter Krempa)
- examples: domtop: Avoid leaking memory (Peter Krempa)
- examples: domtop: Fix uninitialized variable use (Peter Krempa)
- qemu: snapshot: Forbid snapshots of iSCSI passthrough devices (Peter Krempa)
- storage: Disallow vol_wipe for sparse logical volumes (John Ferlan)
- virsh vol-upload/download disallow negative offset (John Ferlan)
- storage: Split out volume wiping as separate backend function (Peter Krempa)
- esx: Fix a bug in the XML code for storage pools (Geoff Hickey)
- blockjob: wait for pivot to complete (Eric Blake)
- Fix const correctness (Michal Privoznik)
- Fix assignment of comparison against zero (Ján Tomko)
- Fix error on fs pool build failure (Ján Tomko)
- spec: fix invalid syntax (Eric Blake)
- libxl: fix return value error Attach|DetachDeviceFlags (Chunyan Liu)
- qemu: blockcopy: Initialize correct source structure (Peter Krempa)
- GetBlockInfo: Use the correct path to qemuOpenFile (John Ferlan)
- virseclabel: Resolve Coverity FORWARD_NULL issue (John Ferlan)
- conf: Always format seclabel's model (Michal Privoznik)
- conf: Fix possible NULL dereference in virStorageVolTargetDefFormat (Matthias Bolte)
- conf: Don't allow multiple seclabels for same model (Michal Privoznik)
- qemu: don't error out when cgroups don't exist (Martin Kletzander)
- util: storage: Fix build after 25924dec0f9329d429aadae14e273602307e2214 (Peter Krempa)
- qemu: fix domxml-to-native failing when spice_tls is not enabled (Jincheng Miao)
- virEventPollDispatchHandles: Honour array boundaries (Michal Privoznik)
- Allow updating names in DHCP hosts by matching IPs. (Ján Tomko)
- Actually fix the spec file (Ján Tomko)
- libxl: fix crash in migrate confirm for transient domains (Jim Fehlig)
- libxl: acquire job though begin phase only (Jim Fehlig)
- libxl: remove domain when migration prepare fails (Jim Fehlig)
- qemu: raise an eror when using aio=native without cache=none (Giuseppe Scrivano)
- Do not allow changing the UUID of a nwfilter (Hu Jianwei)
- LXC: Allow setting max mem lower than current mem (Ján Tomko)
- virsh: domain: Use inactive XML when unplugging interface with --config (Peter Krempa)
- Free the return value of virFileFindResource (Ján Tomko)
- qemu_domain: fix startup policy for disks (Pavel Hrdina)
- Fix segfault when starting a domain with no cpu definition (Ján Tomko)
- qemu: raise an error when trying to use readonly ide disks (Giuseppe Scrivano)
Improvements:
- blockcommit: turn on active commit (Eric Blake)
- blockcommit: track job type in xml (Eric Blake)
- Domain config: write <features/> if some capabilities are set. (Cédric Bosdonnat)
- blockjob: properly track blockcopy xml changes on disk (Eric Blake)
- blockcopy: add more XML for state tracking (Eric Blake)
- qemu: Implement ./hugepages/page/[@size, @unit, @nodeset] (Michal Privoznik)
- domain: Introduce ./hugepages/page/[@size, @unit, @nodeset] (Michal Privoznik)
- virbitmap: Introduce virBitmapOverlaps (Michal Privoznik)
- qemu: Utilize virFileFindHugeTLBFS (Michal Privoznik)
- Introduce virFileFindHugeTLBFS (Michal Privoznik)
- schema: bhyve and nmdm updates (Roman Bogorodskiy)
- nodedev: move pci express types to virpci.h (Eric Blake)
- nodedev: let compiler help us on switches (Eric Blake)
- qemu: sound: Handle all possible sound cards in switch statement (Peter Krempa)
- conf: RNG: Always fill in default random source path for default backend (Peter Krempa)
- spec: arm and aarch64 have kvm support with F20+ (Cole Robinson)
- spec: Use power64 macro (Cole Robinson)
- test: qemu: Add tests for multiple virtio-rng devices (Peter Krempa)
- virtio-rng: allow multiple RNG devices (Peter Krempa)
- bhyve: cdrom support (Roman Bogorodskiy)
- virsh: add option for selecting domdisplay type (Martin Kletzander)
- virsh: add error message when no graphical display is found (Martin Kletzander)
- hostdev: Introduce virDomainHostdevSubsysSCSIiSCSI (John Ferlan)
- Add virConnectPtr for qemuBuildSCSIHostdevDrvStr (John Ferlan)
- hostdev: Introduce virDomainHostdevSubsysSCSIHost (John Ferlan)
- hostdev: Introduce virDomainHostdevSubsysSCSI (John Ferlan)
- hostdev: Introduce virDomainHostdevSubsysPCI (John Ferlan)
- hostdev: Introduce virDomainHostdevSubsysUSB (John Ferlan)
- qemu: snapshot: Use storage driver to pre-create snapshot file (Peter Krempa)
- storage: Implement virStorageFileCreate for local and gluster files (Peter Krempa)
- qemu: Implement DAC driver chown callback to co-operate with storage drv (Peter Krempa)
- security: DAC: Plumb usage of chown callback (Peter Krempa)
- security: DAC: Introduce callback to perform image chown (Peter Krempa)
- security: DAC: Remove superfluous link resolution (Peter Krempa)
- storage: Add witness for checking storage volume use in security driver (Peter Krempa)
- storage: Implement storage driver helper to chown disk images (Peter Krempa)
- numatune: finish the split from domain_conf and remove all dependencies (Martin
Kletzander)
- maint: simplify some syntax check exemptions (Eric Blake)
- spec: Enable sanlock on qemu_kvm_arches for RHEL (Jiri Denemark)
- Added myself in AUTHORS.in (Cédric Bosdonnat)
- Introduce virTristateSwitch enum (Ján Tomko)
- Introduce virTristateBool enum type (Ján Tomko)
- LXC: show used memory as 0 when domain is not active (Chen Hanxiao)
- lxc domain from xml: convert lxc.cap.drop (Cédric Bosdonnat)
- lxc: allow to keep or drop capabilities (Cédric Bosdonnat)
- LXC: create a bind mount for sysfs when enable userns but disable netns (Chen Hanxiao)
- storage: logical: drop useless if (Roman Bogorodskiy)
- getAdapterName: Lookup stable scsi_host (John Ferlan)
- scsi_host: Introduce virFindSCSIHostByPCI (John Ferlan)
- Add unique_id to nodedev output (John Ferlan)
- virutil: Introduce virReadSCSIUniqueId (John Ferlan)
- scsi_backend: Use existing LINUX_SYSFS_SCSI_HOST_PREFIX definition (John Ferlan)
- storage: Introduce parentaddr into virStoragePoolSourceAdapter (Osier Yang)
- virStoragePoolSourceAdapter: Refine the SCSI_HOST adapter name (Osier Yang)
- getAdapterName: check for SCSI_HOST (John Ferlan)
- node_device: HAL: Ignore return value of virStrToLong_ui (Peter Krempa)
- util: Check return value from virStrToLong* functions (Peter Krempa)
- qemu: snapshot: Reject revertion from clearly bad states (Peter Krempa)
- qemu: snapshot: Convert if-else switch to switch statement (Peter Krempa)
- bhyve: reconnect to domains after libvirtd restart (Roman Bogorodskiy)
- examples: Introduce domtop (Michal Privoznik)
- Kill last strto{l,ll,d} scouts (Michal Privoznik)
- lxc conf2xml: convert lxc.network.name for veth networks (Cédric Bosdonnat)
- lxc network configuration allows setting target container NIC name (Cédric Bosdonnat)
- spec: Consolidate with_qemu* definitions (Jiri Denemark)
- storage: Convert 'building' into a bool (John Ferlan)
- Fix build by dropping redefined typedefs (Roman Bogorodskiy)
- test: metadata: Improve test coverage (Peter Krempa)
- Log an error when we fail to set the COW attribute (Ján Tomko)
- storage: wipe: Move helper code into storage backend (Peter Krempa)
- schema: put interleave at correct level (Eric Blake)
- schema: add interleave inside numatune (Martin Kletzander)
- qemu: leave restricting cpuset.mems after initialization (Martin Kletzander)
- qemu: split out cpuset.mems setting (Martin Kletzander)
- qemu: pass numa node binding preferences to qemu (Martin Kletzander)
- qemu: enable disjoint numa cpu ranges (Martin Kletzander)
- qemu: newer -numa parameter capability probing (Martin Kletzander)
- qemu: memory-backend-ram capability probing (Martin Kletzander)
- qemu: allow qmp probing for cmdline options without params (Martin Kletzander)
- numatune: add support for per-node memory bindings in private APIs (Martin Kletzander)
- conf, schema: add support for memnode elements (Martin Kletzander)
- numatune: Encapsulate numatune configuration in order to unify results (Martin
Kletzander)
- numatune: unify numatune struct and enum names (Martin Kletzander)
- numatune: create new module for numatune (Martin Kletzander)
- conf, schema: add 'id' field for cells (Martin Kletzander)
- conf: purely a code movement (Martin Kletzander)
- qemu: remove useless error check (Martin Kletzander)
- qemu: purely a code movement (Martin Kletzander)
- support for QEMU vhost-user (Michele Paolino)
- util: forbid freeing const pointers (Eric Blake)
- add nocow test case (Chunyan Liu)
- storagevol: add nocow to vol xml (Chunyan Liu)
- storage: fs: Don't fail volume update if backing store isn't accessible (Peter
Krempa)
- storage: fs: Properly parse backing store info (Peter Krempa)
- storage: fs: Process backing store data in virStorageBackendProbeTarget (Peter Krempa)
- storage: backend: fs: Touch up coding style (Peter Krempa)
- storage: Track backing store of a volume in the target struct (Peter Krempa)
- storage: backend: Fix formatting of function arguments (Peter Krempa)
- Rework lxc apparmor profile (Cédric Bosdonnat)
- Implement interface stats for BSD (Roman Bogorodskiy)
- util: virstatslinux: make more generic (Roman Bogorodskiy)
- libxl: support hotplug of <interface> (Chunyan Liu)
- libxl: add HOSTDEV type in libxlDomainDetachDeviceConfig (Chunyan Liu)
- spec: Update polkit dependencies for CVE-2013-4311 (Jiri Denemark)
- capabilities: use bool instead of int (Eric Blake)
- openvswitch: Delete port if it exists while adding a new one (Chunhe Li)
- virSecurityLabelDefParseXML: Rework (Michal Privoznik)
- aa-helper: adjust previous patch (Cédric Bosdonnat)
- Don't output libvirt-UUID.files for LXC apparmor profiles (Cédric Bosdonnat)
- libxl: Correct cast to virDomainDiskDiscard enum. (Ian Campbell)
- LXC: add support for --config in setmem command (Chen Hanxiao)
- virSecurityDeviceLabelDef: substitute 'norelabel' with 'relabel' (Michal
Privoznik)
- virSecurityLabelDef: substitute 'norelabel' with 'relabel' (Michal
Privoznik)
- storage: Split out volume upload/download as separate backend function (Peter Krempa)
- libxl: add discard support to libxl_device_disk (Olaf Hering)
- conf: Improve metadata type verification (Peter Krempa)
- qemu: snapshot: Refactor image labelling of new snapshot files (Peter Krempa)
- qemu: Refactor qemuDomainPrepareDiskChainElement (Peter Krempa)
- qemu: snapshot: Improve approach to deal with snapshot metadata (Peter Krempa)
- qemu: block: Properly track disk source while pivoting to new image (Peter Krempa)
- qemu: blockcopy: Use the mirror disk source to label the files (Peter Krempa)
- util: storage: Return complete parent info from virStorageFileChainLookup (Peter
Krempa)
- util: storage: Make virStorageFileChainLookup more network storage aware (Peter Krempa)
- security: AppArmor: Implement per-image seclabel set (Peter Krempa)
- security: AppArmor: Implement per-image seclabel restore (Peter Krempa)
- security: DAC: Implement per-image seclabel set (Peter Krempa)
- security: DAC: Implement per-image seclabel restore (Peter Krempa)
- security: selinux: Implement per-image seclabel set (Peter Krempa)
- security: selinux: Implement per-image seclabel restore (Peter Krempa)
- security: Introduce APIs to label single images (Peter Krempa)
- locking: Add APIs to lock individual image files (Peter Krempa)
- qemu: cgroup: Setup only the top level disk image for read-write access (Peter Krempa)
- qemu: cgroup: Add functions to set cgroup image stuff on individual imgs (Peter Krempa)
- util: XML: Avoid forward function declaration (Peter Krempa)
- libxl: rename goto label (Jim Fehlig)
- maint: update to latest gnulib (Eric Blake)
- properly indent virSecurityLabelDefsParseXML() parameters (Martin Kletzander)
- Fix the indentation in libvirt.spec.in (Ján Tomko)
- util: cgroup: Add helper to convert device mode to string (Peter Krempa)
- util: storage: Copy parent's disk metadata to backing chain elements (Peter Krempa)
- util: storage: Add function to transfer config parts to new chain element (Peter
Krempa)
- util: storagefile: Add deep copy for struct virStorageSource (Peter Krempa)
- storage: Move readonly and shared flags to disk source from disk def (Peter Krempa)
- conf: Don't output seclabels for backingStore elements (Peter Krempa)
- storage: file: Tolerate NULL src when uninitializing the backend (Peter Krempa)
- qemu: Add helper to initialize storage file backend with correct uid/gid (Peter Krempa)
- qemu: Don't propagate whole disk definition into qemuDomainGetImageIds (Peter
Krempa)
- qemu: Add support for networked disks for block pull/block rebase (Peter Krempa)
- qemu: Add support for networked disks for block commit (Peter Krempa)
- lib: Introduce flag VIR_DOMAIN_BLOCK_REBASE_RELATIVE (Peter Krempa)
- lib: Introduce flag VIR_DOMAIN_BLOCK_COMMIT_RELATIVE (Peter Krempa)
- qemu: refactor qemuDomainGetBlockInfo to work with remote storage (Peter Krempa)
- storage: gluster: Optimize header reader functions (Peter Krempa)
- util: storage: Allow specifying format for virStorageFileGetMetadataFromBuf (Peter
Krempa)
- util: storage: Inline use of virStorageFileGetMetadataFromFDInternal (Peter Krempa)
- audit: Audit smartcard devices (Peter Krempa)
- audit: Add auditing for serial/parallel/channel/console character devs (Peter Krempa)
- virt-lxc-convert: make free return values in bytes (Cédric Bosdonnat)
- qemu: dump: Report better error when dumping VM with passthrough devices (Peter Krempa)
- LXC: remove duplicate controller check code (Chen Hanxiao)
- wireshark: Honor API change coming with 1.12 release (Michal Privoznik)
- wireshark: Include more of libvirt internals (Michal Privoznik)
- qemu: monitor: Add support for backing name specification for block-stream (Peter
Krempa)
- qemu: monitor: Add argument for specifying backing name for block commit (Peter Krempa)
- qemu: caps: Add capability for change-backing-file command (Peter Krempa)
- audit: disk: Refactor disk auditing to avoid auditing remote storage (Peter Krempa)
- conf: audit: Split out common steps to audit domain devices (Peter Krempa)
- conf: audit: rng: Reorder new and old RNG device definitions (Peter Krempa)
- util: storage: Add helper to determine whether storage is local (Peter Krempa)
- Utilize virDomainDiskAuth for storage pools (John Ferlan)
- Utilize virDomainDiskAuth for domain disk (John Ferlan)
- qemuargv2xmltest: Resurrect RBD and iSCSI auth (John Ferlan)
- virstorage: Introduce virStorageAuthDef (John Ferlan)
- blockjob: turn on qemu capability bit for active commit (Eric Blake)
- blockjob: allow omitted arguments to QMP block-commit (Eric Blake)
- qemu: Implement virConnectGetDomainCapabilities (Michal Privoznik)
- qemu_capabilities: Introduce virQEMUCapsGetDefaultMachine (Michal Privoznik)
- qemu_capabilities: Introduce virQEMUCapsIsMachineSupported (Michal Privoznik)
- qemu_capabilities: Introduce virQEMUCapsCacheLookupByArch (Michal Privoznik)
- tests: Move qemu caps XML parsing into shared unit (Michal Privoznik)
- virsh: expose virConnectGetDomainCapabilities (Michal Privoznik)
- Introduce domain_capabilities (Michal Privoznik)
- Remove double OOM error reporting (Ján Tomko)
- Remove double OOM error reporting from JSON monitor (Ján Tomko)
- Add OOM error reporting to a few fucntions (Ján Tomko)
- Set errno on OOM in lxcProcReadMeminfo (Ján Tomko)
- Use virBufferCheckError everywhere we report OOM error (Ján Tomko)
- Report errors in virCapabilitiesFormatXML (Ján Tomko)
- Introduce virBufferCheckError (Ján Tomko)
- Use virStringReplace instead of openvz_replace (Ján Tomko)
- Remove useless condition in networkRadvdConfContents (Ján Tomko)
- usb: Remove redundant comment (Ján Tomko)
- More indentation fixes (Ján Tomko)
- Fix indentation in bridge driver (Ján Tomko)
- virsh: Allow attach-disk to specify disk target bus (Yanbing Du)
- qemu: Add cmd_per_lun, max_sectors to virtio-scsi (Mike Perez)
- Add invariant TSC cpu flag (Ján Tomko)
- util: unify extra asterisk in viralloc.h (Martin Kletzander)
Cleanups:
- tests: Remove stale scsihostdata dir (Michal Privoznik)
- xenapiConnectGetCapabilities: Remove unused 'cleanup' label (Michal Privoznik)
Thanks everybody for the help with this release, be it with ideas,
bug reports, patch and reviews or translations !
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | virtualization library
http://libvirt.org/