So as planned, we are somehow a wekk late but February is short.
Available at:
ftp://libvirt.org/libvirt/
Despite that short month this includes a number of few features
including new APIs and support for macvtap devices, a lot of bug
fixes and a very large amount of cleanups in the code, result of
Jim and Eric tracking plus cleanups in the internals interfaces
by Matthias and Dan.
Features:
- Introduce public API for domain async job handling (Daniel P. Berrange)
- macvtap support (Stefan Berger)
- Add QEMU support for virtio channel (Matthew Booth)
- Add persistence of PCI addresses to QEMU (Daniel P. Berrange)
- Functions for computing baseline CPU from a set of host CPUs (Jiri Denemark)
- Public API for virDomain{Attach,Detach}DeviceFlags (Jim Fehlig)
Documentation:
- web docs -- macvtap mode explanation (Stefan Berger)
- Expand docs about clock modes (Daniel P. Berrange)
- docs: Fix syntax warnings from recent changes. (Cole Robinson)
- docs: network: Document <domain> element (Cole Robinson)
- docs: network: Document STP and delay attributes (Cole Robinson)
- docs: domain: Document <description> element (Cole Robinson)
- docs: storage: Document multipath pools (Cole Robinson)
- docs: storage: Document SCSI pools (Cole Robinson)
- docs: storage: Fix backingStore <format> docs (Cole Robinson)
- docs: storage: <volume><key> is always generated. (Cole Robinson)
- docs: storage: Document capacity/alloc 'unit' (Cole Robinson)
- docs: add 3 missing spaces (Dan Kenigsberg)
- Fix typo in comment (Matthew Booth)
- libvirt: Update docs for hotplug only commands (Cole Robinson)
- Fix up a misspelled comment. (Chris Lalancette)
- doc: restrict virDomain{Attach,Detach}Device to active domains (Jim Fehlig)
- docs: Refer to virReportOOMError in the HACKING file (Matthias Bolte)
- docs: Emphasize that devices have to be inside the <devices> element (Matthias
Bolte)
Portability:
- build: vbox: avoid build failure when linking with --no-add-needed (Diego Elio Pettenò)
- build: avoid dlopen-related link failure on rawhide/F13 (Diego Elio Pettenò)
- Add a define for NFS_SUPER_MAGIC (Chris Lalancette)
- Fix compliation of AppArmor related code (Matthias Bolte)
Bug Fixes:
- Fix USB passthrough based on product/vendor (Daniel P. Berrange)
- Misc fixes for LXC cgroups setup (Daniel P. Berrange)
- Change default for storage uid/gid from getuid()/getgid() to -1/-1 (Laine Stump)
- Fix parser checking of storage pool device (Daniel P. Berrange)
- Add missing device type check in QEMU PCI hotunplug (Daniel P. Berrange)
- Make domain save work on root-squash NFS (Laine Stump)
- Fix domain restore for files on root-squash NFS (Laine Stump)
- Fix USB/PCI device address aliases in QEMU hotplug driver (Daniel P. Berrange)
- Fix detection of errors in QEMU device_add command (Daniel P. Berrange)
- uml: avoid crash on partial read (Eric Blake)
- Fix QEMU domain state after a save attempt fails (Daniel P. Berrange)
- Fix error messages when parsing USB devices in QEMU (Rolf Eike Beer)
- Fix USB hotplug device string in QEMU driver (Rolf Eike Beer)
- phypUUIDTable_Push: do not corrupt output stream upon partial write (Jim Meyering)
- qemu: avoid null dereference on failed migration (Eric Blake)
- Free the macvtap mode string (Stefan Berger)
- libvirtd: do not ignore failure to set group ID in privileged mode (Jim Meyering)
- Ignore SIGWINCH in remote client call to poll(2) (RHBZ#567931). (Richard Jones)
- storage: conf: Correctly calculate exabyte unit (Cole Robinson)
- virsh.c: avoid all leaks in OOM path in cmdCPUBaseline (Jiri Denemark)
- Fixed reference count in virsh pool-build command (David Allan)
- Fix daemon-conf invalid failures (David Allan)
- virBufferVSprintf: do not omit va_end(argptr) call (Jim Meyering)
- xend_internal.c: don't dereference NULL for unexpected input (Jim Meyering)
- virsh: be careful to return "FALSE" upon OOM (Jim Meyering)
- virBufferStrcat: do not skip va_end (Jim Meyering)
- qparams.c: do not skip va_end, twice (Jim Meyering)
- get_virtual_functions_linux: would mistakenly always return zero (Jim Meyering)
- network: bridge: Fix IsActive, IsPersistent (Cole Robinson)
- qemuMonitorTextAddUSBDisk: avoid unconditional leak (Jim Meyering)
- tests: avoid NULL deref upon OOM failure (Jim Meyering)
- qemuInitPasswords: avoid unconditional leak (Jim Meyering)
- qemuMonitorTextAddDevice: avoid unconditional leak (Jim Meyering)
- libvirt-override.c: avoid a leak upon call with invalid argument (Jim Meyering)
- vboxDomainDumpXML: avoid a leak on OOM error path (Jim Meyering)
- virNodeDevCapScsiHostParseXML: avoid an unconditional leak (Jim Meyering)
- uml_driver.c: avoid leak upon failure (Jim Meyering)
- vbox_tmpl.c: avoid an unconditional leak (Jim Meyering)
- openvz (openvzFreeDriver): avoid leaks (Jim Meyering)
- Fix crash in LXC driver open method when URI has no path (Daniel P. Berrange)
- Fix USB device path formatting mixup (Daniel P. Berrange)
- qemu_driver.c: honor dname parameter once again (Jim Meyering)
- plug four virStoragePoolSourceFree-related leaks (Jim Meyering)
- remote_driver.c: avoid leak on OOM error path (Jim Meyering)
- qemu: Increase guest startup timeout to 30 seconds (Cole Robinson)
- Fix security driver configuration (Daniel P. Berrange)
- Escape strings serialized in XML (Daniel Veillard)
- absolutePathFromBaseFile: don't leak when first arg contains no "/" (Jim
Meyering)
- sexpr_string: avoid leak on OOM error path (Jim Meyering)
- virDomainChrDefParseXML: don't leak upon invalid input (Jim Meyering)
- virExecWithHook: avoid leak on OOM error path (Jim Meyering)
- cgroup.c: don't leak mem+FD upon OOM (Jim Meyering)
- cgroup.c: avoid unconditional leaks (Jim Meyering)
- virt-pki-validate contains unexpanded SYSCONFDIR variable (Doug Goldstein)
Improvements:
- Convert QEMU driver all hotunplug code from pci_del to device_del (Daniel P. Berrange)
- Support hot-unplug for USB devices in QEMU (Daniel P. Berrange)
- Tweak container initialization to make upstart/init happier (Daniel P. Berrange)
- Avoid creating top level cgroups if just querying for existance (Daniel P. Berrange)
- Support VCPU hotplug in QEMU guests (Daniel P. Berrange)
- Fix mis-leading error message in pool delete API (Daniel P. Berrange)
- Fix typo in QEMU migration command name (Daniel P. Berrange)
- Don't raise error message from cgroups if QEMU fails to start (Daniel P. Berrange)
- esx: don't ignore failure on close (Eric Blake)
- Fix safezero() (Jiri Denemark)
- Support job cancellation in QEMU driver (Daniel P. Berrange)
- Remote driver implementation for the virDomainAbortJob APi (Daniel P. Berrange)
- Wire up internal entry points for virDomainAbortJob API (Daniel P. Berrange)
- Introduce public API for cancelling async domain jobs (Daniel P. Berrange)
- Add QEMU driver support for job info on migration ops (Daniel P. Berrange)
- Remote driver implmentation of job info API (Daniel P. Berrange)
- Stub out internal driver entry points for job processing (Daniel P. Berrange)
- Use device_del to remove SCSI controllers (Wolfgang Mauerer)
- Fix PCI address handling when controllers are deleted (Wolfgang Mauerer)
- Fix data structure handling when controllers are attached (Wolfgang Mauerer)
- Allow configurable timezones with QEMU (Daniel P. Berrange)
- Allow a timezone to be specified instead of sync to host timezone (Daniel P. Berrange)
- Support variable clock offset mode in QEMU (Daniel P. Berrange)
- Add new clock mode allowing variable adjustments (Daniel P. Berrange)
- Change the internal domain conf representation of localtime/utc (Daniel P. Berrange)
- Use standard spacing for user/pass prompt (Cole Robinson)
- libvirtd: Better initscript error reporting (Cole Robinson)
- qemu: Report binary path if error parsing -help (Cole Robinson)
- remote: Improve daemon startup error reporting (Cole Robinson)
- virsh: Show errors reported by nonAPI functions (Cole Robinson)
- remote: Improve error message when libvirtd isn't running (Cole Robinson)
- build: make git submodule checking more reliable (Jim Meyering)
- Add descriptions for macvtap direct type interfaces (Stefan Berger)
- maint: import modern bootstrap (Eric Blake)
- maint: start factoring bootstrap (Eric Blake)
- build: update gnulib submodule to latest (Jim Meyering)
- Create raw storage files with O_DSYNC (again) (Jiri Denemark)
- Use virFileOperation hook function in virStorageBackendFileSystemVolBuild (Laine Stump)
- Rename virFileCreate to virFileOperation, add hook function (Laine Stump)
- qemu: Check for IA64 kvm (Dustin Xiong)
- remote: Print ssh stderr on connection failure (Cole Robinson)
- fix multiple veth problem for OpenVZ (Yuji NISHIDA)
- Better error reporting for failed migration (Chris Lalancette)
- Make an error message in PCI util code clearer (Chris Lalancette)
- macvtap mac_filter support (Stefan Berger)
- macvtap IFF_VNET_HDR configuration (Stefan Berger)
- Use virFork() in __virExec(), virFileCreate() and virDirCreate() (Laine Stump)
- Add virFork() function to utils (Laine Stump)
- Add domain support for virtio channel (Matthew Booth)
- qemu: Explicitly error if guest virtual network is inactive (Cole Robinson)
- virterror: Make SetError work if no previous error was set (Cole Robinson)
- macvtap teardown rework (Stefan Berger)
- Update QEMU JSON balloon command handling (Daniel P. Berrange)
- python: Actually add virConnectGetVersion to generated bindings (Cole Robinson)
- build: inform libtool of m4 directory (Eric Blake)
- Adds a cpu-baseline command for virsh (Jiri Denemark)
- qemu: Make SetVcpu command hotplug only (Cole Robinson)
- qemu: Make Set*Mem commands hotplug only (Cole Robinson)
- Treat missing QEMU 'thread_id' as non-fatal in JSON monitor (Daniel P.
Berrange)
- Fix check for primary IDE controller in QEMU PCI slot assignment (Daniel P. Berrange)
- Make error reporting for QEMU JSON mode more friendly (Daniel P. Berrange)
- Run 'qmp_capabilities' command at QEMU monitor startup (Daniel P. Berrange)
- macvtap support for libvirt -- schema extensions (Stefan Berger)
- macvtap support for libvirt -- qemu support (Stefan Berger)
- macvtap support for libvirt -- helper code (Stefan Berger)
- macvtap support for libvirt -- parse new interface XML (Stefan Berger)
- interface: Use proper return codes in the open function (Matthias Bolte)
- Support 'block_passwd' command for QEMU disk encryption (Daniel P. Berrange)
- Implement cpuBaseline in remote and qemu drivers (Jiri Denemark)
- Wire protocol format and dispatcher for virConnectBaselineCPU (Jiri Denemark)
- virConnectBaselineCPU public API implementation (Jiri Denemark)
- Internal driver API for virConnectBaselineCPU (Jiri Denemark)
- virConnectBaselineCPU public API (Jiri Denemark)
- Implement cpuArchBaseline in x86 CPU driver (Jiri Denemark)
- Implement cpuArchBaseline in generic CPU driver (Jiri Denemark)
- Mark all error messages for translation (Jiri Denemark)
- Add cpu_generic.c to the list of translated files (Jiri Denemark)
- Fix <cpu> element in domain XML schema (Jiri Denemark)
- Fix disk stats retrieval with QEMU >= 0.12 (Daniel P. Berrange)
- qemu: Properly report a startup timeout error (Cole Robinson)
- test: Fake security driver support in capabilities (Cole Robinson)
- Annotate some virConnectPtr as mandatory non-null (Daniel P. Berrange)
- Convert qemu command line flags to 64-bit int (Daniel P. Berrange)
- Create raw storage files with O_DSYNC (Jiri Denemark)
- Re-generate remote protocol files for new APIs (Daniel P. Berrange)
- Modify virsh commands (Jim Fehlig)
- domain{Attach,Detach}DeviceFlags handler for drivers (Jim Fehlig)
- Server side dispatcher (Jim Fehlig)
- Remote driver (Jim Fehlig)
- Wire protocol format (Jim Fehlig)
- Public API Implementation (Jim Fehlig)
Cleanups:
- virsh: silence compiler warning (Eric Blake)
- build: silence coverity warning in node_device (Eric Blake)
- Tiny spelling fix (Wolfgang Mauerer)
- libvirtd: avoid false-positive NULL-deref warning from clang (Eric Blake)
- x86Decode: avoid NULL-dereference upon questionable input (Jim Meyering)
- openvzDomainDefineCmd: remove useless increment (Jim Meyering)
- maint: disallow TAB-in-indentation also in *.rng files (Jim Meyering)
- maint: convert leading TABs in *.rng files to equivalent spaces (Jim Meyering)
- udevEnumerateDevices: remove dead code (Jim Meyering)
- qemudNetworkIfaceConnect: remove dead store (Jim Meyering)
- cmdPoolDiscoverSources: initialize earlier to avoid FP from clang (Jim Meyering)
- build: avoid warning about return-with-value in void function (Jim Meyering)
- Only build virDomainObjFormat if not building proxy. (Chris Lalancette)
- openvzGetVEID: don't leak (memory + file descriptor) (Jim Meyering)
- build: avoid warning about unused variables (Jim Meyering)
- build: avoid "make rpm" failure in docs/ (Jim Meyering)
- build: teach apibuild.py to work in a non-srcdir build (Jim Meyering)
- build: avoid non-srcdir "make distcheck" failures (CLEANFILES) (Jim Meyering)
- build: avoid non-srcdir "make distcheck" failures (srcdir vs wildcard) (Jim
Meyering)
- build: avoid non-srcdir "make distcheck" failure (test_conf.sh) (Jim
Meyering)
- build: avoid non-srcdir installation failure (sitemap.html.in) (Jim Meyering)
- build: avoid non-srcdir installation failure (apibuild.py) (Jim Meyering)
- build: fix typos in makefile variable names (Jim Meyering)
- build: ensure that MKINSTALLDIRS is AC_SUBST-defined (Jim Meyering)
- maint: relax git minimum version (Eric Blake)
- maint: sort .gitignore (Eric Blake)
- maint: fix quoting in autogen.sh (Eric Blake)
- virFork: placate static analyzers: ignore pthread_sigmask return value (Jim Meyering)
- virsh.c: avoid leak on OOM error path (Jim Meyering)
- Make virDomainObjFormat static (Chris Lalancette)
- xenDaemonDomainSetAutostart: avoid appearance of impropriety (Jim Meyering)
- Remove unused functions from domain_conf (Matthew Booth)
- Fix whitespace in domain.rng (Matthew Booth)
- openvzLoadDomains: don't ignore failing virUUIDFormat (Jim Meyering)
- vshCommandParse: placate coverity (Jim Meyering)
- virStorageBackendIsMultipath: avoid dead store (Jim Meyering)
- Convert virSecurityReportError into a macro (Matthias Bolte)
- Swap position of nmodels and models parameters in cpuDecode() (Jiri Denemark)
- Remove virConnectPtr from secret XML APIs (Daniel P. Berrange)
- Remove virConnectPtr from interface XML APIs (Daniel P. Berrange)
- Remove virConnectPtr from CPU XML APIs (Daniel P. Berrange)
- Remove virConnectPtr from storage APIs & driver (Daniel P. Berrange)
- Remove virConnectPtr from all node device XML APIs (Daniel P. Berrange)
- Remove virConnectPtr from network XML APis (Daniel P. Berrange)
- Remove virConnectPtr from USB/PCI device iterators (Daniel P. Berrange)
- Fix generation of floppy disk arg for QEMU's -global arg (Daniel P. Berrange)
- Fix compile error in Xen proxy from virConnectPtr changes (Daniel P. Berrange)
- Remove use of virConnectPtr from security driver APIs (Daniel P. Berrange)
- Remove virConnectPtr from all domain XML parsing/formatting APIs (Daniel P. Berrange)
- Remove virConnectPtr from LXC driver (Daniel P. Berrange)
- Remove passing of virConnectPtr throughout QEMU driver (Daniel P. Berrange)
- virAsprintf: remove its warn_unused_result attribute (Jim Meyering)
- absolutePathFromBaseFile: avoid an unnecessary use of assert (Jim Meyering)
- Remove conn parameter from USB functions (Matthias Bolte)
- Remove conn parameter from JSON error macro (Matthias Bolte)
- Remove conn parameter from PCI functions (Matthias Bolte)
- Remove conn parameter from Linux stats functions (Matthias Bolte)
- Remove conn parameter from storage file functions (Matthias Bolte)
- Remove conn parameter from util functions (Matthias Bolte)
- Remove conn parameter from virXPath* functions (Matthias Bolte)
- Remove conn parameter from virReportSystemError (Matthias Bolte)
- Remove conn parameter from virReportOOMError (Matthias Bolte)
- website: Add a 1em right margin (Matthias Bolte)
- storage: Replace storageLog with VIR_ERROR (Matthias Bolte)
- opennebula: Remove unnecessary casts (Matthias Bolte)
- esx: Remove unnecessary casts (Matthias Bolte)
- cpu conf: Use virBufferFreeAndReset instead of virBufferContentAndReset and VIR_FREE
(Matthias Bolte)
- esx: Cleanup preprocessing structure in esxVI_EnsureSession (Matthias Bolte)
Thanks everybody for getting this out !
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/