Is finally out with the set of last minute fixes :-) Available as usual from: ftp://libvirt.org/libvirt/ The rate of change is really not slowing down, a awful lot of improvements and changes are in. Some things I listed in improvement might be considered full new features like support for latest versions of Xen and ESX. Jim Meyering also went though a lot of automated bug reports to fill up various holes in the code: Features: - Implement support for multi IQN (David Allan) - Implement CPU topology support for QEMU driver (Jiri Denemark) - Use QEmu new device adressing when possible (Daniel P. Berrange) - Implement SCSI controller hotplug/unplug for QEMU (Wolfgang Mauerer) Documentation: - Add missing function parameter documentation (Matthias Bolte) - Add docs about new mailing list (Daniel P. Berrange) - Document cpu-compare command in virsh man page (Jiri Denemark) - Document cpu elements in capabilities and domain XML (Jiri Denemark) - docs: Remove outdated information about remote limitations (Matthias Bolte) - documentation improvements (David Jorm) - Minor fixes for API extension doc (Jim Fehlig) - cpu_shares parameter limit documented (David Jorm) - Document the domain XML cache attribute for disk devices (Matthias Bolte) - Replace old CVS references with GIT (Matthias Bolte) Portability: - portability to non-glibc: don't use realpath(..., NULL) (Jim Meyering) - Add some missing include files which break build in certain platforms (Daniel P. Berrange) - Remove AppArmor compile warnings (Jamie Strandboge) - Fix compilation of virt-aa-helper.c (Matthias Bolte) - Fix linkage of virt-aa-helper to libgnu.a (Matthias Bolte) Bug Fixes: - Fix restore of QEMU guests with PCI device reservation (Daniel P. Berrange) - Another fork() log locking cleanup in file creation (Laine Stump) - Fix log locking problem when using fork() in the library (Cole Robinson) - Fix locking for udev device add/remove (David Allan) - interface_conf.c: don't use a negative value as allocation size (Jim Meyering) - virStoragePoolSourceListNewSource: avoid unconditional leak (Jim Meyering) - xs_internal.c: don't use a negative value as allocation size (Jim Meyering) - Ensure QEMU DAC security driver is activated at all times (Daniel P. Berrange) - udev: Don't let strtoul parse USB busnum and devnum as octal (Matthias Bolte) - json.c: avoid an unconditional leak from most qemuMonitorJSON* functions (Jim Meyering) - Fix PCI host reattach on domain detach. (Chris Lalancette) - Clarify controllers -device string in QEMU driver (Matthew Booth) - util.c (virGetUserEnt): don't use a negative value as allocation size (Jim Meyering) - cpu_x86.c: avoid NULL-deref for invalid arguments (Jim Meyering) - Fix a crash when restarting libvirtd. (Chris Lalancette) - qemuMonitorTextAttachDrive: avoid two leaks (Jim Meyering) - usbGetDevice: don't leak a "usbDevice" buffer on failure path (Jim Meyering) - qemuMonitorTextGetMemoryStats: plug a leak on an error path (Jim Meyering) - usbFindBusByVendor: don't leak a DIR buffer and FD (Jim Meyering) - Fix libvirtd restart for domains with PCI passthrough devices (Chris Lalancette) - qemu: Fix race between device rebind and kvm cleanup (Chris Lalancette) - Fix device assignment with root devices (Chris Lalancette) - Corrected log level of WWN path message (David Allan) - Fix an error when looking for devices in syspath (Daniel Veillard) - Fix off-by-1 in SCSI drive hotplug (Daniel P. Berrange) - Fix leak in hotplug code in QEMU driver (Daniel P. Berrange) - Fix security driver calls in hotplug cleanup paths (Daniel P. Berrange) - Add missing call to re-attach host devices if VM startup fails (Daniel P. Berrange) - Pull initial disk labelling out into libvirtd instead of exec hook (Daniel P. Berrange) - Fix leak of allocated security label (Daniel P. Berrange) - Create storage pool directories with proper uid/gid/mode (Laine Stump) - Create storage volumes directly with desired uid/gid (Laine Stump) - Unset copied environment variables in qemuxml2argvtest (Matthias Bolte) - qemu: Don't allocate zero bytes (Matthias Bolte) - node_device_linux_sysfs.c: avoid opendir/fd leak on error path (Jim Meyering) - domain_conf.c: avoid a leak and the need for "cleanup:" block (Jim Meyering) - Fix QEMU driver custom domain status XML extensions (Daniel P. Berrange) - xen_driver: don't leak a parsed-config buffer (Jim Meyering) - storage_conf: plug a leak on OOM error path (Jim Meyering) - Tests for ACS in PCIe switches (Jiri Denemark) - storage_backend_fs.c: do not ignore probe failure (Jim Meyering) - Avoid free'ing a constant string in chardev lookup code (Daniel P. Berrange) - Fix build of Xen proxy daemon (Daniel P. Berrange) - xen: do not report a write-to-Xen-daemon failure as a read failure (Jim Meyering) - daemon: Don't blindly unregister domain events (Cole Robinson) - node_device: udev: Fix memory leak (Cole Robinson) - Fix migration in xend driver (Jim Fehlig) - Ensure error handling callback functions are called from safe context (Daniel P. Berrange) - qemu: Fix a memory leak in qemudExtractTTYPath (Matthias Bolte) - Fix UUID random generator to use /dev/random (Laine Stump) - let "configure --disable-shared" work once again (Jim Meyering) - Qemu: ask for memory preallocation with large pages (Daniel Veillard) - network/bridge_driver.c: avoid potential NULL-dereference (Jim Meyering) - Don't free an uninitalized pointer in update_driver_name() (Matthias Bolte) - xend_internal: don't let invalid input provoke NULL dereference (Jim Meyering) - Don't update vol details after build (David Allan) - vbox_tmpl.c: don't leak a domain pointer upon failure to create (Jim Meyering) - vbox_tmpl.c: avoid NULL deref upon vboxDomainCreateXML failure (Jim Meyering) - qemu_driver.c: avoid NULL dereference upon disk-op failure (Jim Meyering) - openvz_conf.c: don't dereference NULL upon failure (Jim Meyering) - Distribute vmx2xml and xml2vmx test data files (Matthias Bolte) Improvements: - Tweak USB hostdevice XML handling (Daniel P. Berrange) - Fix QEMU hotplug device alias assignment (Daniel P. Berrange) - Disable QEMU monitor IO debugging by default (Daniel P. Berrange) - Re-arrange QEMU device alias assignment code (Daniel P. Berrange) - Remove direct storage of hostnet_name & vlan (Daniel P. Berrange) - Remove use of -netdev arg with QEMU (Daniel P. Berrange) - Assign PCI addresses before hotplugging devices (Daniel P. Berrange) - Rewrite way QEMU PCI addresses are allocated (Daniel P. Berrange) - Introduce generic virDomainDeviceInfo iterator function (Daniel P. Berrange) - Make hotplug use new device_add where possible (Daniel P. Berrange) - Introduce internal QEMU monitor APIs for drive + device hotadd (Daniel P. Berrange) - Split out QEMU code for building PCI/USB hostdev arg values (Daniel P. Berrange) - Standard internal API syntax for building QEMU command line arguments (Daniel P. Berrange) - Log flags in virConnectCompareCPU (Jiri Denemark) - Look in /usr/libexec for the qemu-kvm binary. (Chris Lalancette) - Support Xen 4.0 sysctl version 7 (Jim Fehlig) - Add missing sata controller type to domain.rng (Matthew Booth) - udev: Set the state driver name (Matthias Bolte) - udev: Remove event handle on shutdown (Matthias Bolte) - esx: Output error details from libcurl (Matthias Bolte) - qemu: Search binaries in PATH instead of hardcoding /usr/bin (Matthias Bolte) - Implement QMP support for extracting CPU thread ID (Daniel P. Berrange) - Misc fixes to QMP monitor support for QEMU (Daniel P. Berrange) - Fix setup of compatability serial devices from console device (Daniel P. Berrange) - Start modernizing configure (Eric Blake) - Add a rule to check for uses of readlink. (Chris Lalancette) - Add virConnectGetVersion Python API (Taizo ITO) - domMemoryStats / qemu: Fix parsing of unknown stats (Adam Litke) - Allow surrounding whitespace in uuid (Dan Kenigsberg) - Add configuration option to turn off dynamic permissions management (Daniel P. Berrange) - Switch QEMU driver over to use the DAC security driver (Daniel P. Berrange) - Introduce a new DAC security driver for QEMU (Daniel P. Berrange) - Introduce a stacked security driver impl for QEMU (Daniel P. Berrange) - Make security drivers responsible for checking dynamic vs static labelling (Daniel P. Berrange) - New utility functions virFileCreate and virDirCreate (Laine Stump) - Add virRunWithHook util function (Laine Stump) - Update interface.rng and xml test files to match netcf 0.1.5 (Laine Stump) - Support bond interfaces attached to bridges in interface xml. (Laine Stump) - Allow empty bridges in interface xml. (Laine Stump) - Support delay property in interface bridge xml. (Laine Stump) - Use pciDeviceIsAssignable in qemu driver (Jiri Denemark) - Allow for CPU topology specification without model (Jiri Denemark) - Add debug messages for CPU incompatibility (Jiri Denemark) - Take disabled/forced CPU features into account (Jiri Denemark) - Enhance qemuParseCommandLineKeywords (Jiri Denemark) - Convert VirtIO balloon over to -device syntax (Daniel P. Berrange) - uto-assign PCI addresses (Daniel P. Berrange) - Pass -vga none if no video card specified (Daniel P. Berrange) - Add support for explicit -sdl flag to QEMU (Daniel P. Berrange) - Assign device aliases for all devices at startup (Daniel P. Berrange) - Add device info to serial, parallel, channel, input & fs devices (Daniel P. Berrange) - Introduce device aliases (Daniel P. Berrange) - Clear assigned PCI devices at shutdown (Daniel P. Berrange) - Auto-add disk controllers based on defined disks (Daniel P. Berrange) - Remove restriction on duplicated sound devices in parser (Daniel P. Berrange) - Detect PCI addresses at QEMU startup (Daniel P. Berrange) - Properly support SCSI drive hotplug (Daniel P. Berrange) - build: update gnulib submodule to latest (Jim Meyering) - Use closest CPU model when decoding from CPUID (Jiri Denemark) - Change detection of xen so that it's actually automatic rather than forced. (Diego Elio Pettenò) - Standardise ./configure --help options reporting. (Diego Elio Pettenò) - qemu: Use log output for pty assignment if 'info chardev' is unavailable (Matthias Bolte) - esx: Add VNC support (Matthias Bolte) - esx: Make the domain part of the hostname optional (Matthias Bolte) - esx: Add stubs for secondary driver types (Matthias Bolte) - Specify bus/unit instead of index for disks with QEMU (Daniel P. Berrange) - Split code for building QEMU -drive arg in separate method (Daniel P. Berrange) - Convert monitor over to use virDomainDeviceAddress (Daniel P. Berrange) - Add new domain device: "controller" (Wolfgang Mauerer) - Set default disk controller/bus/unit props (Daniel P. Berrange) - Add address info to sound, video and watchdog devices (Daniel P. Berrange) - Extend the virDomainDeviceAddress struture to allow disk controller addresses (Daniel P. Berrange) - Introduce a standardized data structure for device addresses (Daniel P. Berrange) - util: Make sure virExec hook failures are raised (Cole Robinson) - Implement path lookup for USB by vendor:product (Cole Robinson) - events: Report errors on failure (Cole Robinson) - node_device: udev: Enumerate floppy devices (Cole Robinson) - node_device: udev: Use base 16 for product/vendor (Cole Robinson) - libvirt.c: Preserve MigratePerform failure (Cole Robinson) - qemu: migrate: Save MigratePerform error in MigrateFinish. (Cole Robinson) - virterror: Add virSetError (Cole Robinson) - Also look for dmi information in /sys/class (Guido Günther) - proxy_internal.c: mark "request" parameter as nonnull (Jim Meyering) - esx: Dump the raw response in case of an SOAP fault (Matthias Bolte) - esx: Warn if the ESX server is in maintenance mode (Matthias Bolte) - xen hypervisor: xen domctl version 6 (Jim Fehlig) - virsh: Add persistent history using libreadline (Matthias Bolte) - esx: Fix 'vpx' MAC address range and allow arbitrary MAC addresses (Matthias Bolte) - esx: Fix deserialization for VI API calls CancelTask and UnregisterVM (Matthias Bolte) - esx: Fix and improve the libcurl debug callback (Matthias Bolte) - esx: Also allow virtualHW version 4 for ESX 4.0 (Matthias Bolte) - qemu: Always enable the virtio balloon driver (Adam Litke) - Disable building of static Python module (Diego Elio Pettenò) - Fix parsing of 'info chardev' line endings (Matthew Booth) Cleanups: - xen_hypervisor.c: remove all "domain == NULL" tests, ... (Jim Meyering) - xen_hypervisor.c: avoid NULL deref for NULL domain argument (Jim Meyering) - libvirtd.c: avoid closing a negative socket file descriptor (Jim Meyering) - storage_backend.c: avoid closing a negative file descriptor (Jim Meyering) - avoid a probable EINVAL from lseek (Jim Meyering) - util.c (two more): don't use a negative value as allocation size (Jim Meyering) - avoid format-related warnings (Jim Meyering) - maint: avoid excess parens in STREQ (Eric Blake) - Move models/nmodels mismatch checking one level up (Jiri Denemark) - Fix up a comment in virHashUpdateEntry (Chris Lalancette) - maint: fix spelling error in hacking (Eric Blake) - pci.c: correct an erroneous expression (Jim Meyering) - Remove undefined symbols from libvirt_private.syms (Matthias Bolte) - Don't call disabled timer callbacks in event-test.c (Matthias Bolte) - hostusb: closedir only if non-NULL; rename labels: s/error/cleanup/ (Jim Meyering) - Cleanup of large buffer on stack in virFileMakePath (Laine Stump) - esx: Stop passing around virConnectPtr for error reporting (Matthias Bolte) - Revert "Fix libvirtd restart for domains with PCI passthrough devices" (Chris Lalancette) - Fix two instances of misspelled 'pseudo' (Chris Lalancette) - Use virFileResolveLink instead of readlink in AppArmor (Chris Lalancette) - Fix a compile warning in parthelper.c (Chris Lalancette) - Remove unused PROC_MOUNT_BUF_LEN #define (Chris Lalancette) - fix "make distcheck" failure (Jim Meyering) - avoid format-related warnings (Jim Meyering) - Refactor setup & cleanup of security labels in security driver (Daniel P. Berrange) - Let make fail when XHTML validation fails (Jiri Denemark) - Fix uses of virFileMakePath (Laine Stump) - remove unnecessary closedir call (Jim Meyering) - Make all bitfields unsigned ints to avoid unexpected values in casts (Daniel P. Berrange) - logging: confirm that we want to ignore a write error (Jim Meyering) - Remove superfluous new lines from messages (Jiri Denemark) - vbox_tmpl.c: remove useless array-is-non-NULL comparisons (Jim Meyering) - lxc_driver: remove useless comparison (Jim Meyering) - gnulib added a new syntax-check test: use $(VAR), not @VAR@ (Jim Meyering) - storage_backend.h: include required headers (Jim Meyering) - esx_vi_types.c: include required headers (Jim Meyering) - vbox: include required headers (Jim Meyering) - cpu_x86_data.h: include required header (Jim Meyering) - util.c: include required header, no longer masked by gnulib (Jim Meyering) - Fix validation of news.html (Matthias Bolte) - Remove obsolete comment in QEMU JSON code (Daniel P. Berrange) - Make test suite output less verbose (Daniel P. Berrange) - daemon: Fix various error reporting issues (Cole Robinson) - util: Remove logging handlers in virExec (Cole Robinson) - Commit bootstrap .gitignore additions (Cole Robinson) - qemu: Disable errors in qemudShutdownVMDaemon (Cole Robinson) - avoid another "make distcheck" failure (Jim Meyering) - avoid newly-introduced test failure (Jim Meyering) - don't test "res == NULL" after we've already dereferenced "res" (Jim Meyering) - fix 7 "make check" test failures in non-srcdir build (Jim Meyering) - virsh: Use VIR_FREE instead of free (Matthias Bolte) - esx: Don't warn about an empty URI path (Matthias Bolte) - qemu_driver.c: remove useless, warning-provoking test (Jim Meyering) So again, thanks everybody for your contributions ! 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