With a bit of delay to catch the last set of patches, the release is
finally out ! You can get 0.9.7 from
ftp://libvirt.org/libvirt/
This is a release mostly focusing on bug fixes and cleanup though
there is some features too, including a lot of improvements on the
snapshot code. There is also a notable set of portability patches,
hopefully all issues raised there were fixed !
Features:
- esx: Support vSphere 5.x (Patrice LACHANCE)
- vbox: Add support for VirtualBox 4.1 (Matthias Bolte)
- Introduce the virDomainOpenGraphics API (Daniel P. Berrange)
- Add AHCI support to qemu driver (Jim Fehlig)
- snapshot: many improvements and 2 new APIs (Eric Blake)
- api: Add public api for 'reset' (Xu He Jie)
Documentation:
- Add <deviceboot> capability. (Philipp Hahn)
- API: document scheduler parameter names (Eric Blake)
- improve typed parameter documentation (Eric Blake)
- fix typo in <disk>/<target> example (Eric Blake)
- python: Fix documentation of virStream recv (Matthias Bolte)
- Add documentation about migration. (Daniel P. Berrange)
- Document filesystem type='block' for LXC (Ryota Ozaki)
- fix incorrect info about routed networks (Laine Stump)
- document managed=yes of hostdev passthrough (Eric Blake)
- trivial spelling fix (Philipp Hahn)
- Fix virt-sanlock-cleanup documentation (Philipp Hahn)
- Fix two comments related to error handling (Philipp Hahn)
- fix network XML documentation (Laine Stump)
- Clarify semantics of virDomainMigrate2 (Jiri Denemark)
- Update examples for probing with systemtap (Daniel P. Berrange)
- fix html bug (Eric Blake)
- virsh: Update the help information for undefine command. (tangchen)
- Document STREQ_NULLABLE and STRNEQ_NULLABLE (Guido Günther)
- Document that ff callbacks need to be invoked from a clean stack. (Guido Günther)
- formatdomain.html.in: fix tickpolicy (Douglas Schilling Landgraf)
- virsh: describe attach-interface parameter target (Daniel Veillard)
- virsh: update man page for cpu_shares parameter (Daniel Veillard)
- document node device XML (Eric Blake)
- document virsh nodedev-* commands (Eric Blake)
- snapshot: fix man page typos (Eric Blake)
- virsh: Better document --copy-storage migrate options (Jiri Denemark)
- virsh: Enhance documentation of commands starting jobs (Jiri Denemark)
- virsh: Improve virsh manual for virsh memtune command (Peter Krempa)
Portability:
- build: fix build on platforms without ptsname_r (Eric Blake)
- build: silence compiler warning on BSD (Eric Blake)
- build: fix linking on BSD (Eric Blake)
- remote: fix mingw32 build (Laine Stump)
- build: fix deep VPATH builds (Eric Blake)
- Use ENAMETOOLONG if the the socket path is longer than UNIX_PATH_MAX (Guido Günther)
- build: avoid RHEL 5 build failure on LXC (Eric Blake)
- build: use gnulib fdatasync (Eric Blake)
- Fix virFileOpenTty definition on Win32 (Daniel P. Berrange)
- compile: fix undefined reference to gnutls_x509_crt_get_dn with gcc-4.6.1 (Xu He Jie)
- Fix VPATH build (Jiri Denemark)
- build: fix 'make dist' error (Wen Congyang)
- Fix syntax problem in mingw32-libvirt.spec.in (Daniel P. Berrange)
- spec: mingw cleanups (Eric Blake)
- build: fix mingw build without sasl (Eric Blake)
- build: fix 'make rpm' (Eric Blake)
- build: fix 'make distcheck' (Eric Blake)
- disable xenlight for non-Xen platforms (Dan Horák)
- build: Fix VPATH build with new probes (Jiri Denemark)
- build: fix 'make distcheck' with pdwtags installed (Eric Blake)
- spec: F15 still uses cgconfig, RHEL lacks hyperv (Eric Blake)
Bug Fixes:
- Fix sending/receiving of FDs when stream returns EAGAIN (Daniel P. Berrange)
- lxc: avoid use-after-free (Eric Blake)
- conf: Don't free uninitialized pointer (Jiri Denemark)
- Fix default console type setting (Daniel P. Berrange)
- Fix crash formatting virtio console (Daniel P. Berrange)
- Fix off-by-one printing month in logging code (Daniel P. Berrange)
- Add missing param initialization in qemuDomainBlockStatsFlags (Daniel P. Berrange)
- fix crash when starting network (Wen Congyang)
- Don't overwrite error message during VM cleanup (Daniel P. Berrange)
- Correctly handle '*' in /etc/filesystems (Daniel P. Berrange)
- Fix URI alias prefix matching (Wen Ruo Lv)
- ServerClient: Flush cached data (Michal Privoznik)
- Fix storage pool source comparison to avoid comparing with self (Daniel P. Berrange)
- qemu: plug memory leak (Alex Jia)
- qemu: Restore the original states of PCI device when restarting daemon (Osier Yang)
- macvtap: Fix error return value convention/inconsistencies (Roopa Prabhu)
- pci address conflict when virtio disk with drive type (Xu He Jie)
- qemu: plug memory leak (Alex Jia)
- qemu: avoid leaking uninit data from hotplug to dumpxml (Eric Blake)
- util: Fix virUUIDGeneratePseudoRandomBytes (Ryota Ozaki)
- lxc: Revert zeroing count of allocated items if VIR_REALLOC_N fails (Peter Krempa)
- lxc: avoid null deref on lxcSetupLoopDevices failure (Alex Jia)
- lxc: avoid missing '{' in the function (Alex Jia)
- storage: avoid null deref on qemu-img failure (Eric Blake)
- storage: make previous leak less likely to regress (Eric Blake)
- storage: plug iscsi memory leak (Eric Blake)
- qemu: avoid leaking uninit data from hotplug to dumpxml (Eric Blake)
- qemu: Do not wait if the PCI device is not managed when reattaching (Osier Yang)
- Add missing strdup return value check (Roopa Prabhu)
- macvtap: avoid invalid free (Roopa Prabhu)
- util: Fix typo in virGetHostname description (Jiri Denemark)
- macvtap: plug memory leak for 802.1Qbh (Eric Blake)
- qemu: plug memory leak on migration (Eric Blake)
- conf: plug memory leak on error (Eric Blake)
- storage: plug memory leak on error (Eric Blake)
- util: Make getaddrinfo failure nonfatal in virGetHostname (Jiri Denemark)
- qemu: fix text block info parsing (Eric Blake)
- qemu: avoid text monitor null deref (Eric Blake)
- qemu: check for json allocation failure (Eric Blake)
- virFDStream: close also given errfd (fd leak) (Marc-André Lureau)
- command: avoid fd leak on failure (Eric Blake)
- qemu: Check for domain being active on successful job acquire (Michal Privoznik)
- xen: Return tap2 for tap2 disks (Philipp Hahn)
- xen: fix PyGrub boot device order (Philipp Hahn)
- build: fix 'make check' linkage with dtrace (Eric Blake)
- Fix deps for probes.o to ensure correct build ordering (Daniel P. Berrange)
- If receiving a stream error, mark EOF on the stream (Daniel P. Berrange)
- xen_xs: Guard against set but empty kernel argument (Guido Günther)
- snapshot: avoid accidental renames with snapshot-edit (Eric Blake)
- storage: Do not use comma as seperator for lvs output (Osier Yang)
- qemuDomainAttach: Initialize pidfile variable (Michal Privoznik)
- lxc: fix logic bug (Eric Blake)
- Don't send back unknown program errors for async messages (Daniel P. Berrange)
- Fix deadlock when the RPC program is unknown (Daniel P. Berrange)
- remote_driver: Avoid double free in EventControl building (Michal Privoznik)
- xenParseXM: don't dereference NULL pointer when script is empty (Guido Günther)
- qemu: Fix migration with dname (Jiri Denemark)
- virsh: do not unlink NULL file (Marc-André Lureau)
- qemu: Fix error message mentioning VNC instead of SPICE (Peter Krempa)
- qemu: Check for ejected media during startup and migration (Michal Privoznik)
- qemu: add return value check (Alex Jia)
- qemu: Always remove domain object if MigratePrepare fails (Jiri Denemark)
- fix AppArmor driver for pipe character devices (Jamie Strandboge)
- daemon: Don't remove pidfiles in init scripts (Peter Krempa)
- storage: Do not break the whole vol lookup process in the middle (Osier Yang)
- Fix synchronous reading of stream data (Daniel P. Berrange)
Improvements:
- Add missing defaultConsoleTargetType callback for AppArmour (Daniel P. Berrange)
- Fix naming of constant for disk event (Daniel P. Berrange)
- lxc: use common code for process cleanup (Eric Blake)
- Set aliases for LXC/UML console devices (Daniel P. Berrange)
- Default console target type with no <target> element (Daniel P. Berrange)
- Add support for multiple consoles in LXC (Daniel P. Berrange)
- Rewrite LXC I/O forwarding to use main event loop (Daniel P. Berrange)
- Allow multiple consoles per virtual guest (Daniel P. Berrange)
- virnetsockettest: Use a temporary directory in /tmp (Guido Günther)
- xen: allow getting < max typed parameters (Eric Blake)
- lxc: allow getting < max typed parameters (Eric Blake)
- libxl: allow getting < max typed parameters (Eric Blake)
- esx: allow getting < max typed parameters (Eric Blake)
- qemu: allow getting < max typed parameters (Eric Blake)
- Add support for probing filesystem with libblkid (Daniel P. Berrange)
- Fix error message when failing to detect filesystem (Daniel P. Berrange)
- Workaround for broken kernel autofs mounts (Daniel P. Berrange)
- Ensure errno is valid when returning from lxcContainerWaitForContinue (Daniel P.
Berrange)
- Create /var/lib/libvirt/filesystems for LXC trees (Daniel P. Berrange)
- esx: Support folders in the path of vpx:// connection URIs (Matthias Bolte)
- qemu: pass virConnectPtr into Domain{Attach,Detach}* (Sage Weil)
- vbox: Support shared folders (Matthias Bolte)
- xenapi: Improve error reporting in xenapiOpen once again (Matthias Bolte)
- Use a common xml type for ceph secret usage. (Josh Durgin)
- storage: add auth to virDomainDiskDef (Josh Durgin)
- secret: add Ceph secret type (Sage Weil)
- Implement RPC driver support for virDomainOpenGraphics (Daniel P. Berrange)
- Extend RPC server to allow FD passing (Daniel P. Berrange)
- Add client side support for FD passing (Daniel P. Berrange)
- Extend RPC protocol to allow FD passing (Daniel P. Berrange)
- Add APIs for virNetSocket for sending/receiving file descriptors (Daniel P. Berrange)
- Wire up QEMU implementation for virDomainOpenGraphics (Daniel P. Berrange)
- Extend graphics event to include UNIX socket (Daniel P. Berrange)
- virsh: Fix error message on vol-create-from failure (Ryota Ozaki)
- bridge: modify for use when sVirt is enabled with qemu (Tyler Coumbes)
- Use virXMLSaveFile when writing XML config (Jiri Denemark)
- Introduce virXMLSaveFile as a wrapper for virFileRewrite (Jiri Denemark)
- Introduce virFileRewrite for safe file rewrite (Jiri Denemark)
- Add a systemtap script for watching QEMU monitor interactions (Daniel P. Berrange)
- qemu: simplify use of HAVE_YAJL (Eric Blake)
- snapshot: simplify indentation of disk encryption xml (Eric Blake)
- snapshot: simplify indentation of nwfilter (Eric Blake)
- Add REMOTE_PROC_DOMAIN_EVENT_DISK_CHANGE to remote_protocol-structs (Daniel P.
Berrange)
- nwfilter: extend schema to support new targets (Stefan Berger)
- util: Add virFileAccessibleAs to private symbols (Michal Privoznik)
- startupPolicy: Emit event on disk source dropping (Michal Privoznik)
- qemu: implement startupPolicy (Michal Privoznik)
- qemu: Move device alias assigning before command line construction (Michal Privoznik)
- util: Create virFileAccessibleAs function (Michal Privoznik)
- conf: Introduce optional startupPolicy attribute for cdrom and floppy (Michal
Privoznik)
- waitpid: improve safety (Eric Blake)
- virsh: Fix vol-info's 'Type' output (Ryota Ozaki)
- support continue/return targets in nwfilter (David L Stevens)
- snapshot: simplify indentation of network xml (Eric Blake)
- snapshot: simplify indentation of cpu features (Eric Blake)
- snapshot: simplify indentation of sysinfo (Eric Blake)
- snapshot: test domainsnapshot indentation (Eric Blake)
- snapshot: indent domain xml when nesting (Eric Blake)
- virbuf: add auto-indentation support (Eric Blake)
- virbuf: more detailed error reporting (Eric Blake)
- virbuf: improve testsuite reporting (Eric Blake)
- virbuf: fix const-correctness (Eric Blake)
- qemu: allow json in domxml-to-native (tangchen)
- support setting bandwidth from virsh attach-interface (Hu Tao)
- lxc: use hand-rolled code in place of unlockpt and grantpt (Serge E. Hallyn)
- qemu: Test name-space handling (Philipp Hahn)
- qemu: Fix name-space handling (Philipp Hahn)
- Replace virBufferAdd with virBufferAddLit for const string (Daniel P. Berrange)
- Allow for URI aliases when connecting to libvirt (Daniel P. Berrange)
- Add support for autodestroy of guests to the LXC and UML drivers (Daniel P. Berrange)
- Use virBufferEscapeShell in cmdEcho (Guido Günther)
- qemu: replace qemuMonitorEscapeShell by virBufferEscapeShell (Guido Günther)
- virBufferEscapeShell: Emit quotes for the empty string (Guido Günther)
- snapshot: detect when qemu lacks disk-snapshot support (Eric Blake)
- virBufferEscapeShell: Fix escaping of single quotes. (Guido Günther)
- compile: Add a missing function 'pciDeviceListFind' to libvirt_private.syms (Xu
He Jie)
- snapshot: implement LIST_LEAVES flag in esx (Eric Blake)
- qemu: Relax -no-shutdown check to [0.14.0, 0.15.0] (Jiri Denemark)
- qemu: Honor the orginal PCI dev properties when reattaching (Osier Yang)
- qemu: Do not reattach PCI device used by other domain when shutdown (Osier Yang)
- Xen: Fake versions in xencapstest (Philipp Hahn)
- Xen: move versions to struct (Philipp Hahn)
- Use virBufferEscapeShell in virNetSocketNewConnectSSH (Guido Günther)
- Add virBufferEscapeShell (Guido Günther)
- Autodetect if the remote nc command supports the -q option (Guido Günther)
- qemu: Make sure BeginJob is always followed by EndJob (Jiri Denemark)
- qemu: Log debug messages when changing job (Jiri Denemark)
- build: add compiler attributes to virUUIDParse (Eric Blake)
- Fix typo in lxc_controller (Serge E. Hallyn)
- build: update to latest gnulib (Eric Blake)
- events: Propose a separate lock for event queue (Michal Privoznik)
- qemu: Implement VIR_DUMP_RESET (Michal Privoznik)
- virDomainCoreDump: Introduce VIR_DUMP_RESET flag (Michal Privoznik)
- example: Support debug output and loop switch (Philipp Hahn)
- example: Redirect --help output to stdout/stderr (Philipp Hahn)
- example: Fix argument handling (Philipp Hahn)
- snapshot: implement LIST_LEAVES flag in qemu (Eric Blake)
- snapshot: add API for filtering by leaves (Eric Blake)
- tests: Add support for skipping tests (Philipp Hahn)
- Introduce <driver> under <filesystem> to support open-by-handle (Harsh
Prateek Bora)
- buf: implement generic virBufferEscape (Sage Weil)
- daemon: Always advertise libvirtd service (Osier Yang)
- snapshot: take advantage of new relations (Eric Blake)
- snapshot: track qemu snapshot relations (Eric Blake)
- snapshot: framework for more efficient relation traversal (Eric Blake)
- snapshot: use correct qmp monitor command (Eric Blake)
- snapshot: virsh shorthand for operating on current snap (Eric Blake)
- build: ship helper scripts (Eric Blake)
- Rewrite all the DTrace/SystemTAP probing (Daniel P. Berrange)
- Fix missing lock calls on virNetTLSContextRef (Daniel P. Berrange)
- Refactor TLS to facilitate dynamic probing (Daniel P. Berrange)
- Add virSocketRef API to facilitate dynamic probing (Daniel P. Berrange)
- Make libvirt.so include the RPC server code (Daniel P. Berrange)
- snapshot: implement snapshot children listing in esx (Eric Blake)
- snapshot: implement snapshot children listing in qemu (Eric Blake)
- snapshot: remote protocol for snapshot children (Eric Blake)
- snapshot: virsh fallback for snapshot-list --descendants --from (Eric Blake)
- snapshot: virsh fallback for snapshot-list --from children (Eric Blake)
- snapshot: virsh fallback for snapshot-list --tree --from (Eric Blake)
- snapshot: virsh snapshot-list and children (Eric Blake)
- xen: add error handling to UUID parsing (Guido Günther)
- maint: typo fixes (Eric Blake)
- snapshot: sort snapshot-list --tree (Eric Blake)
- snapshot: simplify redefinition of disk snapshot (Eric Blake)
- snapshot: let virsh edit disk snapshots (Eric Blake)
- snapshot: fix virsh error message typo (Eric Blake)
- qemu: add separate rerror_policy for disk errors (Laine Stump)
- qemu: leave rerror policy at default when enospace is requested (Laine Stump)
- qemu: enable multifunction for older qemu (Eric Blake)
- Make LXC work with new network configuration types (Daniel P. Berrange)
- init: raise default system aio limits (Eric Blake)
- maint: fix minor issues in virterror public header (Eric Blake)
- snapshot: enforce REVERT_FORCE on qemu (Eric Blake)
- snapshot: use qemu-img on disks in use at time of snapshot (Eric Blake)
- snapshot: add REVERT_FORCE to API (Eric Blake)
- snapshot: implement snapshot roots listing in vbox (Eric Blake)
- qemu: Don't fail virDomainGetInfo if we can't update balloon info (Jiri
Denemark)
- snapshot: simplify esx snapshot name lookup (Eric Blake)
- snapshot: implement snapshot roots listing in esx (Eric Blake)
- qemu: correct misspelled 'enospc' option, and only use for werror (Laine Stump)
- snapshot: better virsh handling of missing current, parent (Eric Blake)
- Allow passing of command line args to LXC container (Daniel P. Berrange)
- Add support for bandwidth filtering on LXC guests (Daniel P. Berrange)
- network: fill in bandwidth from portgroup for all forward modes (Laine Stump)
- bridge_driver.c: Fix autoconf setting (Neil Wilson)
- Set to NULL members that have been freed to prevent crashes (Marc-André Lureau)
- snapshot: implement getparent for vbox (Eric Blake)
- snapshot: implement getparent for esx (Eric Blake)
- qemu: make PCI multifunction support more manual (Laine Stump)
- lvm storage backend: handle command_names=1 in lvm.conf (Serge E. Hallyn)
- qemu: Check for outstanding async job too (Michal Privoznik)
- virsh: Add 'reset' command for virsh (Xu He Jie)
- remote: Implement 'reset' for remote driver (Xu He Jie)
- qemu: Implement 'reset' for qemu driver (Xu He Jie)
- logging: Add date to log timestamp (Jiri Denemark)
- logging: Do not log timestamp through syslog (Jiri Denemark)
- hyperv: Report an error for acceptable URI schemes with a transport (Matthias Bolte)
- esx: Report an error for acceptable URI schemes with a transport (Matthias Bolte)
- snapshot: implement getparent in qemu (Eric Blake)
- snapshot: add virsh snapshot-list --tree (Eric Blake)
- snapshot: refactor virsh snapshot parent computation (Eric Blake)
- snapshot: remote protocol for getparent (Eric Blake)
- security: properly chown/label bidirectional and unidirectional fifos (Laine Stump)
- qemu: Preserve fakeReboot flag in domain status (Jiri Denemark)
- qemu: Finish domain shutdown on reconnect (Jiri Denemark)
- qemu: Check domain status details when reconnecting monitor (Jiri Denemark)
- virsh: Allow using complete <capabilities> elements with cpu-baseline (Peter
Krempa)
- virsh: Allow using domain and capabilities XMLs with cpu-compare (Peter Krempa)
- qemu: add ability to set PCI device "rombar" on or off (Laine Stump)
- qemu: Relax -no-shutdown check to [0.14.0, 0.15.50) (Jiri Denemark)
- virLockManagerNopInit: Rename flags to unused_flags (Michal Privoznik)
- debug: Annotate some variables as unused (Michal Privoznik)
- maint: update authors (Peter Krempa)
- Add unsafe cache mode support for disk driver (Oskari Saarenmaa)
- selinux: Correctly report warning if virt_use_nfs not set (Michal Privoznik)
- virsh: Do not ignore the specified flags for cmdSaveImageDefine (Osier Yang)
- qemu: Transfer inactive XML among cookie (Michal Privoznik)
Cleanups:
- Remove translations in socket test case (Daniel P. Berrange)
- test: drop redundant check (Eric Blake)
- startupPolicty: Minor cleanups (Michal Privoznik)
- secret: fix bad patch application (Eric Blake)
- Remove trailing whitespace from all xfig files (Daniel P. Berrange)
- Fix typo in virFileAccessibleAs (Daniel P. Berrange)
- snapshot: minor cleanups from reviewing indentation (Eric Blake)
- build: ignore test executable (Eric Blake)
- esx: drop dead code to silence Coverity (Eric Blake)
- snapshot: drop dead parameters (Eric Blake)
- qemu: silence Coverity false positive (Eric Blake)
- conf: remove unused VIR_ENUM_DECL (Laine Stump)
thanks to everybody who helped for this release, by reporting bugs,
providing ideas, patches, or documentation !
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/