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(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/