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@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list