As scheduled, libvirt 0.9.0 was tagged and pushed today, it's
available from FTP at:
ftp://libvirt.org/libvirt/
This is a large release w.r.t. the amount of features and changes,
and well worth bumping the middle version number. We are also getting
closer to a 1.0.0 release !
Features:
- Support cputune cpu usage tuning (Osier Yang and Nikunj A. Dadhania)
- Add public APIs for storage volume upload/download (Daniel P. Berrange)
- Add public API for setting migration speed on the fly (Daniel P. Berrange)
- Add libxenlight driver (Jim Fehlig and Markus Groß)
- qemu: support migration to fd (Eric Blake)
- libvirt: add virDomain{Get,Set}BlkioParameters (Gui Jianfeng)
- setmem: introduce a new libvirt API (virDomainSetMemoryFlags) (Taku Izumi)
- Expose event loop implementation as a public API (Daniel P. Berrange)
- Dump the debug buffer to libvirtd.log on fatal signal (Daniel Veillard)
- Audit support (Eric Blake)
Documentation:
- fix typo (Eric Blake)
- correct invalid xml (Eric Blake)
- virsh: Fix documentation for memtune command (Jiri Denemark)
- Fix several formatting mistakes in doc (Michal Privoznik)
- mention C89 syntax preferences (Eric Blake)
- document recent hook additions (Eric Blake)
- Update on the goal page (Daniel Veillard)
- Document first release with spice and qxl (Cole Robinson)
- Add schema definition for imagelabel (Osier Yang)
- update virGetVersion description (Tiziano Mueller)
- Improve logging documentation including the debug buffer (Daniel Veillard)
- update windows page for initial libvirt 0.8.8 installer (Justin Clift)
- formatdomain.html.in: Fix spelling PIC->PCI (Philipp Hahn)
- fix missing </p> (Eric Blake)
- documenting the 802.1Qbg parameters of a 'direct' interface (Gerhard Stenzel)
- silence warnings about generated API docs (Eric Blake)
- document <driver name='vhost'/> for interfaces (Eric Blake)
- correct range of default NAT subnet (Eric Blake)
- formatdomain: Add release info for disk <driver> attributes (Cole Robinson)
- Fix spelling mistake: seek (Philipp Hahn)
- maint: fix grammar in error message (Eric Blake)
Portability:
- virsh: fix mingw failure on creating nonblocking pipe (Eric Blake)
- Remove iohelper on Win32 since it is not required (Daniel P. Berrange)
- Fix domain events C example on Win32 (Daniel P. Berrange)
- build: fix compilation on mingw (Eric Blake)
- util: use SCM_RIGHTS in virFileOperation when needed (Eric Blake)
- Don't use INT64_MAX in libvirt.h because it requires stdint.h (Matthias Bolte)
- libvirtd: Remove indirect linking (Guido Günther)
- build: avoid compiler warning on cygwin (Eric Blake)
- build: fix build on cygwin (Eric Blake)
- build: fix building error when building without libvirtd (Wen Congyang)
- virsh: Remove indirect link against libxml2 (Guido Günther)
- Fix build on cygwin (Daniel Veillard)
- Add check for kill() to fix build of cgroups on win32 (Daniel P. Berrange)
- build: fix broken mingw cross-compilation (Eric Blake)
Bug fixes:
- fix memory leak in qemuProcessHandleGraphics() (Wen Congyang)
- do not lock vm while allocating memory (Wen Congyang)
- Fix libxl driver startup (Daniel Veillard)
- qemu: Ignore libvirt debug messages in qemu log (Jiri Denemark)
- qemu: Fix improper logic of qemuCgroupSetup (Osier Yang)
- free tmp after unlinking it (Wen Congyang)
- qemu: Fix media eject with qemu-0.12.* (Jiri Denemark)
- check whether qemuMonitorJSONHMP() failed (Wen Congyang)
- do not send monitor command after monitor meet error (Wen Congyang)
- qemu: unlock qemu driver before return from domain save (Hu Tao)
- qemu: fix regression with fd labeling on migration (Eric Blake)
- Ignore return value of virDomainObjUnref (Markus Groß)
- Fix infinite loop in daemon if client quits with multiple streams open (Daniel P.
Berrange)
- qemu: fix regression that hangs on save failure (Eric Blake)
- qemu: fix restoring a compressed save image (Eric Blake)
- util: allow clearing cloexec bit (Eric Blake)
- logging: always NUL-terminate circular buffer (Eric Blake)
- tests: don't alter state in $HOME (Eric Blake)
- qemu: don't restore state label twice (Eric Blake)
- Fix syntax error in configure.ac (Osier Yang)
- remote: Don't leak gnutls session on negotiation error (Matthias Bolte)
- hooks: fix regression in previous patch (Eric Blake)
- Add missing { for qemudDomainInterfaceStats (Philipp Hahn)
- daemon: Avoid resetting errors before they are reported (Jiri Denemark)
- fix the check of the output of monitor command 'device_add' (Wen Congyang)
- Make error reporting in libvirtd thread safe (Jiri Denemark)
- update domain status forcibly even if attach a device failed (Wen Congyang)
- util: Fix return value for virJSONValueFromString if it fails (Osier Yang)
- Initialization error of qemuCgroupData in Qemu host usb hotplug (Wen Congyang)
- build: fix missing initializer (Eric Blake)
- Fix uninitialized variable & error reporting in LXC veth setup (Daniel P. Berrange)
- udev: fix regression with qemu:///session (Eric Blake)
- logging: fix off-by-one bug (Eric Blake)
- do not report OOM error when prepareCall() failed (Wen Congyang)
- Don't return an error on failure to create blkio controller (Hu Tao)
- qemu: respect locking rules (Eric Blake)
- openvz: fix a simple bug in openvzListDefinedDomains() (Jean-Baptiste Rouault)
- Fix delayed event delivery when SASL is active (Daniel P. Berrange)
- qemu: Fix copy&paste error messages in text monitor (Jiri Denemark)
- do not unref obj in qemuDomainObjExitMonitor* (Wen Congyang)
- qemu: check driver name while attaching disk (Wen Congyang)
- remote: Add missing virCondDestroy calls (Matthias Bolte)
- build: improve rpm generation for distro backports (Eric Blake)
- storage: Fix a problem which will cause libvirtd crashed (Osier Yang)
- Fix misc bugs in virCommandPtr (Daniel P. Berrange)
- libvirt: fix a simple bug in virDomainSetMemoryFlags() (Taku Izumi)
- qemu: Check the unsigned integer overflow (Osier Yang)
- audit: eliminate potential null pointer deref when auditing macvtap devices (Laine
Stump)
- network driver: don't send default route to clients on isolated networks (Laine
Stump)
- virsh: Free stream when shutdown console (Osier Yang)
- Add missing checks for read only connections (Guido Günther)
- qemu: fix -global argument usage (Eric Blake)
- Make sure we reset the umask on the error path (Guido Günther)
- qemu: Stop guest CPUs before creating a snapshot (Jiri Denemark)
- qemu: Escape snapshot name passed to {save,load,del}vm (Jiri Denemark)
- qemu: Fix warnings in event handlers (Jiri Denemark)
- storage: Update qemu-img flag checking (Osier Yang)
- Make sure the rundir is accessible by the user (Guido Günther)
- Fix a wrong error message thrown to user (Hu Tao)
- unlock eventLoop before calling callback function (Wen Congyang)
- fixes for several memory leaks (Phil Petty)
- Fix a counter bug in the log buffer (Daniel Veillard)
- qemu: avoid corruption of domain hashtable and misuse of freed domains (Laine Stump)
- qemu: Add missing lock of virDomainObj before calling virDomainUnref (Laine Stump)
- esx: Escape password for XML (Matthias Bolte)
- util: correct retry path in virFileOperation (Eric Blake)
- util: Allow removing hash entries in virHashForEach (Jiri Denemark)
- qemu: avoid double close on domain restore (Eric Blake)
- Fix port value parsing for serial and parallel ports (Michal Novotny)
- Fix off-by-1 in virFileAbsPath. (Daniel P. Berrange)
- security: avoid memory leak (Eric Blake)
- protect the scsi controller to be deleted when it is in use (Wen Congyang)
- virsh: freecell --all getting wrong NUMA nodes count (Michal Privoznik)
- remove duplicated call to reportOOMError (Christophe Fergeau)
Improvements:
- Make check_fc_host() and check_vport_capable() usable as rvalues (Guido Günther)
- maint: avoid locale-sensitivity in string case comparisons (Eric Blake)
- extend logging to record configuration-related changes (Naoya Horiguchi)
- Add libvirt_iohelper to spec file (Daniel Veillard)
- cputune: New tests for cputune XML (Osier Yang)
- cputune: Support cputune for xend driver (Osier Yang)
- cputune: Support cputune for lxc driver (Osier Yang)
- cputune: Support cputune for qemu driver (Osier Yang)
- cputune: Implementations of parsing and formating cputune xml (Osier Yang)
- cputune: Add data structures presenting cputune XML (Osier Yang)
- cputune: Add document for cputune XML (Osier Yang)
- cputune: Add XML schema for cputune xml (Osier Yang)
- qemu: improve error message on failed fd transfer (Eric Blake)
- maint: ignore new built file (Eric Blake)
- Add domainSuspend/Resume to libxl driver (Markus Groß)
- Add domainGetOSType to libxl driver (Markus Groß)
- Add domainGetSchedulerType to libxl driver (Markus Groß)
- Implements domainXMLTo/FromNative in libxl driver (Markus Groß)
- Add vcpu functions to libxl driver (Markus Groß)
- List authors in copyright headers (Markus Groß)
- Add event callbacks to libxl driver (Markus Groß)
- Remote protocol support for storage vol upload/download APIs (Daniel P. Berrange)
- Support volume data upload/download APIs in storage driver (Daniel P. Berrange)
- Add vol-upload and vol-download commands to virsh (Daniel P. Berrange)
- Enhance the streams helper to support plain file I/O (Daniel P. Berrange)
- Update event loop example programs to demonstrate best practice (Daniel P. Berrange)
- qemu: support fd: migration with compression (Eric Blake)
- qemu: skip granting access during fd migration (Eric Blake)
- qemu: consolidate migration to file code (Eric Blake)
- qemu: use common API for reading difficult files (Eric Blake)
- qemu, storage: improve type safety (Eric Blake)
- util: adjust indentation in previous patch (Eric Blake)
- util: rename virFileOperation to virFileOpenAs (Eric Blake)
- storage: simplify fd handling (Eric Blake)
- qemu: simplify domain save fd handling (Eric Blake)
- qemu: allow simple domain save to use fd: protocol (Eric Blake)
- Update of localisations, switch to transifex (Daniel Veillard)
- build: shorten libxenlight summary for consistent alignment (Eric Blake)
- command: add virCommandAbort for cleanup paths (Eric Blake)
- command: don't mix RunAsync and daemons (Eric Blake)
- command: properly diagnose process exit via signal (Eric Blake)
- Add memory functions to libxl driver (Markus Groß)
- build: enforce reference count checking (Eric Blake)
- maint: prohibit access(,X_OK) (Eric Blake)
- Get cpu time and current memory balloon from libxl (Markus Groß)
- build: nuke all .x-sc* files, and fix VPATH syntax-check (Eric Blake)
- command: reject pidfile on non-daemon (Eric Blake)
- rpm: add missing dependencies (Eric Blake)
- rpm: separate runtime and build requirements (Eric Blake)
- qemu: simplify monitor callbacks (Eric Blake)
- 8021Qbh: use preassociate-rr during the migration prepare stage (Roopa Prabhu)
- Wire up virDomainMigrateSetSpeed into QEMU driver (Daniel P. Berrange)
- Wire up virDomainMigrateSetSpeed for the remote RPC driver (Daniel P. Berrange)
- maint: update authors (Eric Blake)
- Disable libxl build in RPM on Fedora < 16 (Daniel P. Berrange)
- qemu: fallback to HMP drive_add/drive_del (Hu Tao)
- qemu: Only use HMP passthrough if it is supported (Jiri Denemark)
- qemu: Detect support for HMP passthrough (Jiri Denemark)
- qemu: add two hook script events "prepare" and "release" (Thibault
Vincent)
- qemu: simplify interface fd handling in monitor (Eric Blake)
- qemu: simplify PCI configfd handling in monitor (Eric Blake)
- qemu: simplify monitor fd error handling (Eric Blake)
- util: guarantee sane errno in virFileIsExecutable (Eric Blake)
- Don't build libxenlight driver for Xen 4.0 (Jim Fehlig)
- network driver: log error and abort network startup when radvd isn't found (Laine
Stump)
- build: translate changes in previous patch (Eric Blake)
- Ensure binary is resolved wrt $PATH in virExec (Daniel P. Berrange)
- util: Forbid calling hash APIs from iterator callback (Jiri Denemark)
- Avoid taking lock in libvirt debug dump (Daniel Veillard)
- unlock the monitor when unwatching the monitor (Wen Congyang)
- Add vim configuration that makes vim auto-indent code (Hu Tao)
- virsh: fix memtune's help message for swap_hard_limit (Nikunj A. Dadhania)
- Add PCI sysfs reset access (Alex Williamson)
- Support Xen sysctl v8, domctl v7 (Jim Fehlig)
- macvtap: log an error if on failure to connect to netlink socket (Laine Stump)
- qemu: improve efficiency of dd during snapshots (Eric Blake)
- virsh: allow empty string arguments (Eric Blake)
- qemu: Fallback to HMP when cpu_set QMP command is not found (Wen Congyang)
- Change message for VIR_FROM_RPC error domain (Daniel P. Berrange)
- Add compat function for geteuid() (Daniel P. Berrange)
- Add virSetBlocking() to allow O_NONBLOCK to be toggle on or off (Daniel P. Berrange)
- qemu: use more appropriate error (Eric Blake)
- Make LXC container startup/shutdown/I/O more robust (Daniel P. Berrange)
- Allow to dynamically set the size of the debug buffer (Daniel Veillard)
- qemu: consolidate duplicated monitor migration code (Eric Blake)
- qemu: use lighter-weight fd:n on incoming tunneled migration (Eric Blake)
- Fix performance problem of virStorageVolCreateXMLFrom() (Minoru Usui)
- libvirt-guests: avoid globbing when splitting $URIS (Eric Blake)
- libvirt-guest.init: quoting variables (Philipp Hahn)
- virsh: Insert error messages to avoid a quiet abortion of commands (Michal Privoznik)
- python: Use hardcoded python path in libvirt.py (Jiri Denemark)
- virsh: Allow starting domains by UUID (Jiri Denemark)
- network driver: Use a separate dhcp leases file for each network (Laine Stump)
- network driver: Start dnsmasq even if no dhcp ranges/hosts are specified. (Laine Stump)
- libvirt-guest.init: handle domain name with spaces (Philipp Hahn)
- domain.rng vs. formatdomain.html#elementsUSB (Philipp Hahn)
- Ignore backing file errors in FS storage pool (Philipp Hahn)
- remote-protocol: implement new BlkioParameters API (Gui Jianfeng)
- virsh: Adding blkiotune command to virsh tool (Gui Jianfeng)
- qemu: implement new BlkioParameters API (Gui Jianfeng)
- libvirt: implements virDomain{Get,Set}BlkioParameters (Gui Jianfeng)
- setmem: add the new options to "virsh setmem" command (Taku Izumi)
- setmem: implement the remote protocol to address the new API (Taku Izumi)
- setmem: implement the code to address the new API in the qemu driver (Taku Izumi)
- audit: audit use of /dev/net/tun, /dev/tapN, /dev/vhost-net (Eric Blake)
- qemu: don't request cgroup ACL access for /dev/net/tun (Eric Blake)
- qemu: support vhost in attach-interface (Eric Blake)
- qemu: Refactor qemuDomainSnapshotCreateXML (Jiri Denemark)
- qemu: Fallback to HMP for snapshot commands (Jiri Denemark)
- qemu: Setup infrastructure for HMP passthrough (Jiri Denemark)
- qemu: Replace deprecated option of qemu-img (Osier Yang)
- audit: also audit cgroup ACL permissions (Eric Blake)
- cgroup: allow fine-tuning of device ACL permissions (Eric Blake)
- audit: rename remaining qemu audit functions (Eric Blake)
- audit: also audit cgroup controller path (Eric Blake)
- audit: split cgroup audit types to allow more information (Eric Blake)
- audit: tweak audit messages to match conventions (Eric Blake)
- Don't overwrite virRun error messages (Cole Robinson)
- virsh: Change option parsing functions to return tri-state information (Michal
Privoznik)
- virsh: change vshCommandOptString return type and fix const-correctness (Michal
Privoznik)
- support to detach USB disk (Wen Congyang)
- rename qemuDomainDetachSCSIDiskDevice to qemuDomainDetachDiskDevice (Wen Congyang)
- qemu_hotplug: Reword error if spice password change not available (Cole Robinson)
- Move event code out of the daemon/ into src/util/ (Daniel P. Berrange)
- Convert daemon/virsh over to use primary event APIs, rather than impl (Daniel P.
Berrange)
- Cleaning up some of the logging code (Daniel Veillard)
- qemu: Support vram for video of qxl type (Osier Yang)
- Add an an internal API for emergency dump of debug buffer (Daniel Veillard)
- Add logrotate support for libvirtd.log (Daniel Veillard)
- Change default log policy to libvirtd.log instead of syslog (Daniel Veillard)
- Force all logs to go to the round robbin memory buffer (Daniel Veillard)
- AUTHORS: adjust to preferred spelling (KAMEZAWA Hiroyuki)
- Pass virSecurityManagerPtr to virSecurityDAC{Set, Restore}ChardevCallback (Soren
Hansen)
- maint: update to latest gnulib (Eric Blake)
- Attempt to improve an error message (Daniel P. Berrange)
- add additional event debug points (Daniel P. Berrange)
- qemu: only request sound cgroup ACL when required (Eric Blake)
- Add support for multiple serial ports into the Xen driver (Michal Novotny)
- Add APIs for killing off processes inside a cgroup (Daniel P. Berrange)
- Allow hash tables to use generic pointers as keys (Daniel P. Berrange)
- Remove deallocator parameter from hash functions (Daniel P. Berrange)
- Make commandtest more robust wrt its execution environment (Daniel P. Berrange)
- audit: audit qemu pci and usb device passthrough (Eric Blake)
- audit: audit qemu memory and vcpu adjusments (Eric Blake)
- audit: add qemu hooks for auditing cgroup events (Eric Blake)
- audit: prepare qemu for listing vm in cgroup audits (Eric Blake)
- cgroup: determine when skipping non-devices (Eric Blake)
- virExec: avoid uninitialized memory usage (Eric Blake)
- Allow 32-on-64 execution for LXC guests (Daniel P. Berrange)
- Put <stdbool.h> into internal.h so it is available everywhere (Daniel P.
Berrange)
- qemu: Switch over command line capabilities to virBitmap (Jiri Denemark)
- qemu: Rename qemud\?CmdFlags to qemuCaps (Jiri Denemark)
- qemu: Use helper functions for handling cmd line capabilities (Jiri Denemark)
- qemu: Rename QEMUD_CMD_FLAG_* to QEMU_CAPS_* (Jiri Denemark)
- util: Add API for converting virBitmap into printable string (Jiri Denemark)
- util: Use unsigned long as a base type for virBitmap (Jiri Denemark)
- Expose name + UUID to LXC containers via env variables (Daniel P. Berrange)
- Fix discard of expected errors (Daniel P. Berrange)
- Fix group/mode for /dev/pts inside LXC container (Daniel P. Berrange)
- 802.1Qbh: Delay IFF_UP'ing interface until migration final stage (Roopa Prabhu)
- storage: make debug log more useful (Osier Yang)
- virsh: replace vshPrint with vshPrintExtra for snapshot list Otherwise extra information
will be printed even if "--quiet" is specified. (Osier Yang)
- check device-mapper when building with mpath or disk storage driver (Wen Congyang)
- build: add dependency on gnutls-utils (Eric Blake)
- Renamed functions in xenxs (Markus Groß)
- Moved XM formatting functions to xenxs (Markus Groß)
- Moved XM parsing functions to xenxs (Markus Groß)
- Moved SEXPR formatting functions to xenxs (Markus Groß)
- Moved SEXPR parsing functions to xenxs (Markus Groß)
- Moved some SEXPR functions from xen-unified (Markus Groß)
- Moved SEXPR unit to utils (Markus Groß)
- virt-*-validate.in: quote all variable references (Dan Kenigsberg)
- virt-pki-validate: behave when CERTTOOL is missing (Dan Kenigsberg)
- autobuild.sh: use VPATH build (Eric Blake)
- maint: fix 'make dist' in VPATH build (Eric Blake)
- build: don't require pod2man for tarball builds (Eric Blake)
- hash: make virHashFree more free-like (Eric Blake)
- build: Fix API docs generation in VPATH build (Jiri Denemark)
- Remove all object hashtable caches from virConnectPtr (Daniel P. Berrange)
- nwfilter: enable rejection of packets (Stefan Berger)
- Drop empty argument from dnsmasq call (Guido Günther)
- esx: Ignore malformed host UUID from BIOS (Matthias Bolte)
- build: speed up non-maintainer builds (Eric Blake)
- build: recompute symbols after changing configure options (Eric Blake)
- Requires gettext for client package (Osier Yang)
- Do not add drive 'boot=on' param when a kernel is specified (Jim Fehlig)
- factor common code in virHashAddEntry and virHashUpdateEntry (Christophe Fergeau)
- add hash table rebalancing in virHashUpdateEntry (Christophe Fergeau)
- hash: modernize debug code (Eric Blake)
- build: improve 'make install' for VPATH builds (Eric Blake)
- check more error info about whether drive_add failed (Wen Congyang)
- logging: make VIR_ERROR and friends preserve errno (Eric Blake)
- maint: avoid 'make syntax-check' from tarball (Eric Blake)
- Give each virtual network bridge its own fixed MAC address (Laine Stump)
- Allow brAddTap to create a tap device that is down (Laine Stump)
- Add txmode attribute to interface XML for virtio backend (Laine Stump)
- Restructure domain struct interface "driver" data for easier expansion (Laine
Stump)
- build: Fix VPATH build (Jiri Denemark)
- storage: Allow to delete device mapper disk partition (Osier Yang)
Cleanups:
- The next release is 0.9.0 not 0.8.9 (Daniel Veillard)
- maint: use space, not tab, in remote_protocol-structs (Eric Blake)
- Remove the Open Nebula driver (Daniel P. Berrange)
- domain_conf: drop unused ref-count in snapshot object (Eric Blake)
- Update the set of maintainers for the project (Daniel Veillard)
- Make virDomainObjParseNode() static (Hu Tao)
- maint: make spacing in .sh files easier (Eric Blake)
- network driver: Fix indentation from previous commit (Laine Stump)
- qemu: Rename qemuMonitorCommandWithHandler as qemuMonitorText* (Jiri Denemark)
- qemu: Rename qemuMonitorCommand{,WithFd} as qemuMonitorHMP* (Jiri Denemark)
- maint: avoid long lines in more tests (Eric Blake)
- maint: kill all remaining uses of old DEBUG macro (Eric Blake)
- maint: Expand tabs in python code (Jiri Denemark)
- remove space between function name and ( (Christophe Fergeau)
- don't check for NULL before calling virHashFree (Christophe Fergeau)
- remove no longer needed calls to virReportOOMError (Christophe Fergeau)
- Move all the QEMU migration code to a new file (Daniel P. Berrange)
- Split all QEMU process mangement code into separate file (Daniel P. Berrange)
Thanks to everybody who helped one way or another for this release !
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/