As planned and after most of the clang detected problems got fixed
(thanks Eric !) the new release is available at:
ftp://libvirt.org/libvirt/
It's a mixed release, it includes a number of improvements as
well as many bug fixes and a few new features:
Features:
- support various persistent domain updates (KAMEZAWA Hiroyuki)
- improvements on memory APIs (Taku Izumi)
- Add virDomainEventRebootNew (Matthias Bolte)
- various improvements to libxl driver (Markus Groß)
- Spice: support audio, images and stream compression (Michal Privoznik)
Documentation:
- fix missing VLAN id for Qbg example (Gerhard Stenzel)
- docs: Document filesystem tag device (Cole Robinson)
- maint: fix comment typos (Eric Blake)
- Fix two out-of-date comments in LVM backend (Richard Laager)
- docs: Serial and parallel device target ports actually start from 0 (Matthias Bolte)
- maint: fix grammar errors (Eric Blake)
- docs: document freecell --all (Eric Blake)
- docs: remove "returns" word from beginning of lines (Jean-Baptiste Rouault)
- docs: add an IPv6 address to network XML examples (Laine Stump)
Portability:
- build: fix getcwd portability problems (Eric Blake)
- build: avoid test warnings on mingw (Eric Blake)
- virsh: avoid compiler warning on mingw (Eric Blake)
- build: Use pkg-config for libssh2 check (Jiri Denemark)
- build: Ignore old audit library (Jiri Denemark)
- build: fix 32-bit test failure (Eric Blake)
- build: Fix problem of building Python bindings (Osier Yang)
- build: fix 32-bit test failure (Eric Blake)
- ppc: Enable starting of Qemu VMs on ppc host (Stefan Berger)
- Migrate VMs between different-endianess hosts (Stefan Berger)
- build: really fix mingw startup (Eric Blake)
- build: fix mingw build (Eric Blake)
- do not build libvirt_iohelper when building without libvirtd (Wen Congyang)
- virsh: fix mingw startup (Eric Blake)
- build: avoid compiler warning on cygwin (Eric Blake)
- Fix build for older gcc (Jim Fehlig)
- Don't try to enable stack protector on Win32 (Daniel P. Berrange)
Bug Fixes:
- storage: avoid null deref and leak on failure (Eric Blake)
- esx: Avoid null dereference on error in esxDomainGetInfo (Matthias Bolte)
- remote: avoid null dereference on error (Eric Blake)
- cgroup: avoid leaking a file (Eric Blake)
- virsh: avoid null pointer dereference (Eric Blake)
- pci: fix null pointer dereference (Eric Blake)
- qemu: avoid null pointer dereference (Eric Blake)
- tests: avoid null pointer dereference (Eric Blake)
- Fix disability to run on systems with no PCI bus (Michal Privoznik)
- virsh: fix regression in log to file (Supriya Kannery)
- nwfilter: Fix memory leak in the ebtables subdriver (Matthias Bolte)
- qemu: Fix qemuDomainModifyDeviceFlags leaking the caps bitmap (Matthias Bolte)
- Fix memory leak in __virExec (Matthias Bolte)
- hash: fix memory leak regression (Eric Blake)
- Xen: Do not generate net ifname if domain is inactive (Jim Fehlig)
- xen: check if device is assigned to guest before reattaching (Yufang Zhang)
- util: Initialize hooks at daemon shutdown if no hooks defined (Osier Yang)
- fix virsh's regression (Wen Congyang)
- release PCI address only when we have ensured it successfully (Wen Congyang)
- free memory properly in cleanup patch (Hu Tao)
- free buf content when vsnprintf() failed (Wen Congyang)
- esx: Fix dynamic dispatch for CastFromAnyType functions (Matthias Bolte)
- Make crash and live flags mutually exclusive in virDomainCoreDump (Mark Wu)
- Fix small memory leaks in config parsing related functions (Matthias Bolte)
- daemon: Don't try to free an unsigned int in error paths (Matthias Bolte)
- Fix QEMU tunnelled migration FD handling (Daniel P. Berrange)
- Remove artificial minimum limit for guest memory (Jiri Denemark)
- fix tunnelled migration's regression (Wen Congyang)
- qemu: fix the check of virDomainObjUnref()'s return value (Wen Congyang)
- Fix checking of return codes in dispatcher (Daniel P. Berrange)
- qemu: avoid qemu_driver being unlocked twice when virThreadPoolNew() failed (Wen
Congyang)
- virsh: fix regression in parsing optional integer (Eric Blake)
- phyp: avoid memory leaks in command values (Eric Blake)
- phyp: avoid memory leak on failure (Eric Blake)
- phyp: avoid a logic bug (Eric Blake)
- free cpumask of vcpupinDef (Hu Tao)
- network: Fix NULL dereference during error recovery (Michal Privoznik)
- Add missing checks for QEMU domain state in tunables APIs (Daniel P. Berrange)
- phyp: Fix too small buffer allocation in phypAttachDevice (Matthias Bolte)
- phyp: Don't overwrite error from virDomainDeviceDefParse by OOM error (Matthias
Bolte)
- phyp: Don't try to use a string from a failed virAsprintf (Matthias Bolte)
- phyp: Remove stack allocating a 4kb volume key and fix related memory leaks (Matthias
Bolte)
- qemu: fix a dead-lock problem (Hu Tao)
- util: Fix crash when removing entries during hash iteration (Jiri Denemark)
- Fix possible infinite loop in remote driver (Michal Privoznik)
- qemu: Remove the managed state file only if restoring succeeded (Osier Yang)
- reattach pci devices when qemuPrepareHostdevPCIDevices() failed (Wen Congyang)
- reattach pci device when pciBindDeviceToStub() failed (Wen Congyang)
- remove devices from driver activePciHostdevs when qemuPrepareHostdevPCIDevices() failed
(Wen Congyang)
- pci: avoid invalid free, init path to NULL (Wen Congyang)
- qemu: Support for overriding NPROC limit (Jiri Denemark)
- qemu: Always reserves slot 0x02 for primary VGA. (Osier Yang)
- Fix typo in systemtap tapset directory name (Daniel P. Berrange)
- qemu: Ignore unusable binaries (Jiri Denemark)
Improvements:
- maint: detect clang 2.9 (Eric Blake)
- qemu: update qemuCgroupControllerActive signature (Eric Blake)
- lxc: report correct error (Eric Blake)
- libxl: avoid compiler warning (Eric Blake)
- storage: use virCommand to avoid compiler warning (Eric Blake)
- tests: Lower stack usage below 4096 bytes (Matthias Bolte)
- tests: Update valgrind suppressions file (Matthias Bolte)
- tests: simplify common setup (Eric Blake)
- network: fix return value of hostsFileWrite (Laine Stump)
- libvirt/qemu - support persistent attach/detach disks (KAMEZAWA Hiroyuki)
- libvirt/qemu - support persistent modification of devices (KAMEZAWA Hiroyuki)
- util: Simplify hash implementation (Jiri Denemark)
- tests: More unit tests for internal hash APIs (Jiri Denemark)
- Move call to virReportOOMError into virFileBuildPath (Matthias Bolte)
- build: use gnulib passfd for simpler SCM_RIGHTS code (Eric Blake)
- qemu: Add flags checking in DomainCoreDump (Jiri Denemark)
- Make sure DNSMASQ_STATE_DIR exists (Guido Günther)
- build: make VIR_FREE do some type checking (Eric Blake)
- threads: add one-time initialization support (Eric Blake)
- esx: Add a wrapper for shared CURL handles (Matthias Bolte)
- esx: Move CURL handling code to it's own type (Matthias Bolte)
- daemon: Honor error variable name change in the generator (Matthias Bolte)
- libvirt/qemu - clean up UpdateDevice for consolidation. (KAMEZAWA Hiroyuki)
- libvirt/qemu - clean up At(De)tachDeviceFlags() for consolidation. (KAMEZAWA Hiroyuki)
- libvirt/qemu - Centralize device modification in the more flexible APIs (KAMEZAWA
Hiroyuki)
- Add support for s390(x) cpu options parsing (Michal Privoznik)
- PHYP: Adding reboot domain function (Eduardo Otubo)
- nwfilter: no support for direct type of interface (Stefan Berger)
- Add cputune support to libxl driver (Markus Groß)
- Update and sort msg_gen_function list and mark unmarked messages (Matthias Bolte)
- Write error check conditionals in more compact form for dispatcher (Daniel P. Berrange)
- Merge all returns paths from dispatcher into single path (Daniel P. Berrange)
- Experimental libvirtd upstart job (Alan Pevec)
- enhance processWatchdogEvent() (Wen Congyang)
- xen: Replace statsErrorFunc with a macro (Matthias Bolte)
- tests: Unit tests for internal hash APIs (Jiri Denemark)
- build: include esx_vi.generated.* into dist file (Wen Congyang)
- tests: test recent virsh option parsing changes (Eric Blake)
- virsh: list required options first (Eric Blake)
- phyp: use consistent return string handling (Eric Blake)
- maint: use lighter-weight function for straight appends (Eric Blake)
- libvirt-guests: implement START_DELAY (Alexander Todorov)
- network: truncate bridges' dummy tap device names to IFNAMSIZ (15) chars (Laine
Stump)
- Introduce virDomainChrDefNew() (Michal Novotny)
- esx: Make the parsed URI part of the private connection data (Matthias Bolte)
- esx: Mark error message in macros for translation (Matthias Bolte)
- esx: Extend VI generator to cover managed object types (Matthias Bolte)
- esx: Cleanup and refactor CastFromAnyType macros (Matthias Bolte)
- esx: Cleanup VI generator code (Matthias Bolte)
- phyp: Reduce code duplication in error and success paths (Matthias Bolte)
- Replace REMOTE_DEBUG with VIR_DEBUG in daemon dispatcher (Daniel P. Berrange)
- Add missing checks for whether the connection is open in dispatcher (Daniel P.
Berrange)
- PHYP: Adding network interface (Eduardo Otubo)
- xen: Remove PATH_MAX sized stack allocation from block stats code (Matthias Bolte)
- setmaxmem: add the new options to "virsh setmaxmem" command (Taku Izumi)
- maxmem: implement virDomainSetMaxMemory API of the qemu driver (Taku Izumi)
- maxmem: introduces VIR_DOMAIN_MEM_MAXIMUM flag (Taku Izumi)
- nwfilters: support for TCP flags evaluation (Stefan Berger)
- setmem: add --current option to virsh setmem command (Taku Izumi)
- setmem: add VIR_DOMAIN_MEM_CURRENT support to qemu (Taku Izumi)
- setmem: introduce VIR_DOMAIN_MEM_CURRENT flag (Taku Izumi)
- build: Install libxenlight log dir (Jim Fehlig)
- Add domainSet/GetSchedulerParameters to libxl driver (Markus Groß)
- rename pciUnBindDeviceFromStub() to pciUnbindDeviceFromStub() and float it up (Wen
Congyang)
- Add domainIsUpdated to libxl driver (Markus Groß)
- Change locking for udev monitor and callbacks (Serge Hallyn)
- Improve SCSI volume key generation (Daniel P. Berrange)
- qemu: Rewrite LOOKUP_PTYS macro into a function (Jiri Denemark)
- Enable use of -Wold-style-definition compiler flag (Daniel P. Berrange)
- Enable use of -Wmissing-noreturn (Daniel P. Berrange)
- Enable -Wmissing-format-attribute warning (Daniel P. Berrange)
- Use gnulib's manywarnings and warnings modules (Daniel P. Berrange)
- Use virBufferPtr for sexpr2string instead of manual buffer handling (Matthias Bolte)
- xend: Remove 4kb stack allocation (Matthias Bolte)
- uml: Remove PATH_MAX sized stack allocation from /proc parsing code (Matthias Bolte)
- storage: Remove PATH_MAX sized stack allocation from iSCSI backend (Matthias Bolte)
- qemu: Remove PATH_MAX sized stack allocation used in commandline building (Matthias
Bolte)
- Remove PATH_MAX sized stack allocation from virFileOpenTtyAt (Matthias Bolte)
- openvz: Remove several larger stack allocations (Matthias Bolte)
- daemon: Remove 4kb stack allocation of security label (Matthias Bolte)
- virsh: Remove two 4kb stack allocations (Matthias Bolte)
- Use virFileAbsPath instead of manually creating the absolute path (Matthias Bolte)
- xenxs: Remove PATH_MAX sized stack allocation in XM script parsing (Matthias Bolte)
- sasl: Remove stack allocated 8kb temporary buffers (Matthias Bolte)
- qemu: Use heap allocated memory to read the monitor greeting (Matthias Bolte)
- phyp: Remove 16kb stack allocation (Matthias Bolte)
- virt-aa-helper: Remove PATH_MAX sized stack allocations (Matthias Bolte)
- ebtables: Remove PATH_MAX sized stack allocation (Matthias Bolte)
- pci: Remove PATH_MAX sized stack allocations (Matthias Bolte)
- Remove PATH_MAX sized stack allocations related to virFileBuildPath (Matthias Bolte)
- vmx: Use case-insensitive compare functions for all content (Matthias Bolte)
- vmx: Support persistent CPU shares (Matthias Bolte)
- Add autostart support to libxl driver (Markus Groß)
- Allow relative path for qemu backing file (Jesse Cook)
- build: detect potentential uninitialized variables (Eric Blake)
Cleanups:
- esx: Disable performance counter queries in esxDomainGetInfo (Matthias Bolte)
- esx: Remove dead store in esxUtil_ParseDatastorePath (Matthias Bolte)
- util: remove dead assignment (Eric Blake)
- qemu: remove dead assignment (Eric Blake)
- qemu: silence clang false positives (Eric Blake)
- tests: suppress more valgrind situations (Eric Blake)
- tests: avoid compiler warning (Eric Blake)
- qemu: fix uninitialized variable warning (Christophe Fergeau)
- build: fix syntax-check failure (Eric Blake)
- virsh: nuke use of TRUE and FALSE (Eric Blake)
- phyp: another simplification (Eric Blake)
- maint: ignore built file (Eric Blake)
- Change some variable names to follow standard in daemon dispatcher (Daniel P. Berrange)
- Remove curly braces on all single-line conditional jumps in dispatcher (Daniel P.
Berrange)
- Remove virConnectPtr from virRaiseErrorFull (Matthias Bolte)
- phyp: prefer memcpy over memmove when legal (Eric Blake)
- phyp: use consistent style for labels (Eric Blake)
- phyp: more return handling cleanup (Eric Blake)
- esx: Fix gcc 4.6 warning about initialized but unused variables (Matthias Bolte)
- maint: silence cppi warnings (Eric Blake)
- Fix gcc 4.6 warnings in vbox_tmpl.c (Christophe Fergeau)
- Fix gcc 4.6 warnings (Christophe Fergeau)
- Remove C99 variable declare in PHYP network driver (Daniel P. Berrange)
- Standard on error variable name in libvirtd dispatcher (Daniel P. Berrange)
- Remove all whitespace before function brackets in daemon dispatcher (Daniel P.
Berrange)
- docs: tweak virsh restore warning (Eric Blake)
- setmaxmem: remove the code to invoke virDomainSetMemory in cmdSetmaxmem (Taku Izumi)
- build: fix gitignore sorting (Eric Blake)
- tests: fix recent test failures (Eric Blake)
- libxl: avoid compiler warning (Eric Blake)
- Avoid compiler warnings about int to void * casts (Daniel P. Berrange)
- Remove acinclude.m4 file (Daniel P. Berrange)
- Remove possible uninitialized variable in openvz driver (Daniel P. Berrange)
Thanks to everybody who helped with this release in any way,
bug reports, documentation, patches or features !
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/