Announce
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- 1 participants
- 531 discussions
Okay, it is finally out of the box :-) available as usual on
ftp://libvirt.org/libvirt/
The snapshot support in that version should have improved a lot, and
for the curious there is some early support for Microsoft hypervisor
now, updated support for USB should also be a major user improvement.
Considering the amount of bug fixes, I would suggest to upgrade
to that version even if you don't need any new features !
Features:
- many snapshot improvements (Eric Blake)
- latency: Define new public API and structure (Osier Yang)
- USB2 and various USB improvements (Marc-André Lureau)
- storage: Add fs pool formatting (Osier Yang)
- Add public API for getting migration speed (Jim Fehlig)
- Add basic driver for Microsoft Hyper-V (Matthias Bolte)
Documentation:
- virsh: tweak previous domblkstat patch (Eric Blake)
- virsh: doc: Fix supported driver types for attach-disk command (Peter Krempa)
- doc: Add statment about permissions needed to do a core dump (Peter Krempa)
- snapshot: tweak snapshot-create-as diskspec docs (Eric Blake)
- qemu_api: doc improvements (Eric Blake)
- virsh: Fix command name in man page (Peter Krempa)
- fix incorrect option in send-key (Alex Jia)
- virsh: improve send-key documentation (Eric Blake)
- hyperv: Add basic documentation (Matthias Bolte)
- schedinfo: update man page about virsh schedinfo command (Taku Izumi)
- virsh: Clarify documentation of -d option (Jiri Denemark)
- schedinfo: add missing documentation (Taku Izumi)
- Improve tokenizing of linkable terms (Philipp Hahn)
- Add some docs about the RPC protocol and APIs (Daniel P. Berrange)
- Align table cells on top (Philipp Hahn)
- use IPv6 addresses in range reserved for documentation (Laine Stump)
- describe new virtual switch configuration in network XML docs (Laine Stump)
Portability:
- Update to require sanlock 1.8 for license compliance (Daniel P. Berrange)
- build: work around lack of MacOS fdatasync (Eric Blake)
- python: Fix bindings generated in VPATH build (Jiri Denemark)
- build: storage: Macro 'MKFS' is undefined on some platforms. (Peter Krempa)
- build: storage: Conditionaly compiled structure caused build fail on OSX (Peter Krempa)
- Avoid using "devname" as an identifier. (Peter Krempa)
- mingw: Don't use interface as an identifier (Matthias Bolte)
- esx: Use $(PYTHON) instead of the shebang to run the generator (Matthias Bolte)
- build: work around older systemtap header (Eric Blake)
- build: fix compilation on mingw64 (Eric Blake)
- build: fix virnetsocket on mingw (Eric Blake)
- build: fix virpidfile on mingw (Eric Blake)
- maint: fix some compilation issues on non-linux platforms (part 2) (Stefan Berger)
- maint: fix some compilation issues on non-linux platforms (Stefan Berger)
- Fix detection of GnuTLS 1.x.y (Matthias Bolte)
Bug Fixes:
- Fix crash on events due to allocation errors (Daniel Veillard)
- conf: Assign newDef of active domain as persistent conf if it is NULL (Osier Yang)
- storage: Ensure the device path exists before refreshing disk pool (Osier Yang)
- daemon: Error and exit if specified value for timeout is not valid (Osier Yang)
- vmx: avoid memory leak (Alex Jia)
- util: avoid memory leak (Alex Jia)
- remote: avoid memory leak (Alex Jia)
- qemu: avoid memory leak (Alex Jia)
- daemon: avoid memory leak (Alex Jia)
- Prevent crash from dlclose() of libvirt.so (Daniel P. Berrange)
- qemu: add return value check (Alex Jia)
- Avoid crash on restart if running guest has filterref (Stefan Berger)
- conf: avoid memory leak on virDomainDefParseXML (Alex Jia)
- Fix build after commit 829bce17 (Jim Fehlig)
- conf: add missing break in virDomainAuditRedirdev (Marc-André Lureau)
- snapshot: ABI stability must include memory sizing (Eric Blake)
- make: Fix 'make syntax-check' failing. (Peter Krempa)
- snapshot: fix double free of qemuImgBinary (Guannan Ren)
- virnetsocket: Pass KRB5CCNAME env variable (Michal Privoznik)
- Fix URL-escaping for domainDefine (Philipp Hahn)
- snapshot: fix regression with system checkpoints (Eric Blake)
- Don't treat pci_system_init failure as fatal if no PCI bus is present (Soren Hansen)
- rpc: avoid memory leak on virNetTLSContextValidCertificate (Alex Jia)
- tests: avoid memory leak on testTLSSessionInit (Alex Jia)
- libxl: avoid a dereference of a null pointer (Alex Jia)
- blockinfo: fix qemu regression in handling disk name (Eric Blake)
- esx: Fix managed object lookup with optional occurrence (Matthias Bolte)
- Threadpool: Initialize new dynamic workers (Michal Privoznik)
- Default USB device is on slot 1 function 2 (Marc-André Lureau)
- Fix localtime handling for Xen-PV domains (Philipp Hahn)
- snapshot: fix corner case on OOM during creation (Eric Blake)
- API: Init conn in case of it might be used uninitialized (Osier Yang)
- qemu: detect incomplete save files (Eric Blake)
- reserve slot 1 on pci bus0 (Wen Congyang)
- libvirtd: create run dir when running at non-root user (Xu He Jie)
- Don't overwrite errors from xend_{get,req} (Jim Fehlig)
- virsh: avoid memory leak on cmdVolCreateAs (Alex Jia)
- Fix tracking of RPC messages wrt streams (Daniel P. Berrange)
- Avoid use-after-free on streams, due to message callbacks (Daniel P. Berrange)
- Fix parted sector size assumption (Daniel P. Berrange)
- qemu: Fix a regression of domain save (Osier Yang)
- lxc: Fix incorrect changes on error codes. (Osier Yang)
- Stop libxl driver polluting logs on non-Xen hosts (Daniel P. Berrange)
- Fix memory leak parsing 'relabel' attribute in domain security XML (Daniel P. Berrange)
- Fix memory leak dispatching domain events (Daniel P. Berrange)
- Don't leak memory if a cgroup is mounted multiple times (Daniel P. Berrange)
- stream: remove redundant reference to client while sending stream data (Guannan Ren)
- Fix sanlock socket security labelling (Daniel P. Berrange)
- Fix incorrect path length check in sanlock lockspace setup (Daniel P. Berrange)
- snapshot: forbid snapshot on autodestroy domain (Eric Blake)
- Fix error detection in device change (Philipp Hahn)
- qemu: properly label outgoing pipe for tunneled migration (Eric Blake)
- Fix persistent migration config save (KAMEZAWA Hiroyuki)
- rpc: Don't close connection if program is unknown (Jiri Denemark)
- remote: Refuse connecting to remote socket (Michal Privoznik)
- Detect errors from the 'sendkey' command (Daniel P. Berrange)
- qemu: Correctly label migration TCP socket (Jiri Denemark)
- Do not try to cancel non-existent migration on source (Jiri Denemark)
- snapshot: don't leak resources on qemu snapshot failure (Eric Blake)
- Fix command test wrt gnutls initialize & fix debugging (Daniel P. Berrange)
- daemon: Move TLS initialization to virInitialize (Michal Privoznik)
- util: only fchown newly created files in virFileOpenAs (Laine Stump)
- qemu: fix off-by-one in pci slot reservation (Shradha Shah)
- pci: fix pciDeviceListSteal on multiple devices (Shradha Shah)
- qemu: Report error if qemu monitor command not found for BlockJob (Osier Yang)
- send-key: fix scan keycode map (KAMEZAWA Hiroyuki)
- storage: Flush host cache after write (Michal Privoznik)
- daemon: initialize GnuTLS (Michal Privoznik)
- Ensure async packets never get marked for sync replies (Daniel P. Berrange)
- Don't attempt to read from a stream if it is closed (Daniel P. Berrange)
- qemu: Init reattaching related members of pciDevice before reattach (Osier Yang)
- Fix race condition in abort of stream (Daniel P. Berrange)
- Ensure client streams are closed when marking a client for close (Daniel P. Berrange)
- Ensure stream is aborted when exiting console (Daniel P. Berrange)
- daemon: Add early libvirtd start verbose errors. (Peter Krempa)
- qemu: error message should show uri instead of (null) (Peter Krempa)
- libvirtd.init.in: stop/restart() - wrong return value in case of failure (Douglas Schilling Landgraf)
- daemon: Fix regression of libvirtd reloading support (Osier Yang)
- virsh: fix logic bug (Eric Blake)
- storage: Directory shouldn't be listed as type 'file' (Peter Krempa)
- network: eliminate potential memory leak on parse failure (Laine Stump)
- nwfilter: tolerate disappearing interfaces while instantiating filter (Stefan Berger)
- qemu: Fix -chardev udp if parameters are omitted (Cole Robinson)
- managedsave: prohibit use on transient domains (Eric Blake)
- Check stdoutWatch before removing the handler. (Juerg Haefliger)
- Fix memory leak while scanning snapshots (Philipp Hahn)
- build: fix regression in large file support (Eric Blake)
- Don't mount /dev for application containers (Daniel P. Berrange)
- qemu: avoid crash on process attach (Eric Blake)
- rpc:fix sasl session relocking intead of unlocking it (Guannan Ren)
- daemon: Unlink unix socket paths on shutdown (Osier Yang)
Improvements:
- Remove devname identifier from autogenerated RPC code (Peter Krempa)
- maint: Prefer names over email in 'git shortlog' (Eric Blake)
- virsh: Add more human-friendly output of domblkstat command (Peter Krempa)
- spec: silence warnings when installing in F16 (Eric Blake)
- snapshot: allow disk snapshots of qcow2 disks (Eric Blake)
- snapshot: affect persistent xml after disk snapshot (Eric Blake)
- qemu: Introduce shutdown reason for paused state (Jiri Denemark)
- qemu: Prevent disk corruption on domain shutdown (Jiri Denemark)
- qemu: Properly detect crash of a rebooted domain (Jiri Denemark)
- qemu: Fix shutoff reason when domain crashes (Jiri Denemark)
- rpc: convert unknown procedures to VIR_ERR_NO_SUPPORT (Eric Blake)
- python: Fix libvirt.py generation to include virterror info (Cole Robinson)
- sanlock: add missing test command in virt-sanlock-cleanup.in (Alex Jia)
- spec: Require augeas for sanlock (Michal Privoznik)
- Use max bandwidth from qemuDomainObjPrivate struct when migrating (Jim Fehlig)
- Set qemu migration speed unlimited when migrating to file (Jim Fehlig)
- Save migration speed in qemuDomainMigrateSetMaxSpeed (Jim Fehlig)
- Impl virDomainMigrateGetMaxSpeed in qemu driver (Jim Fehlig)
- Store max migration bandwidth in qemuDomainObjPrivate struct (Jim Fehlig)
- network: add missing exports (Eric Blake)
- xml: Clean up rest of virtual XML document names for XML strings (Peter Krempa)
- qemu_api: Update libvirt spec file (Osier Yang)
- qemu_api: Update Makefile to generate libvirtmod_qemu lib (Osier Yang)
- qemu_api: Update Py binding generator to generate files for QEMU APIs (Osier Yang)
- qemu_api: Add override XML and C files for QEMU APIs (Osier Yang)
- qemu_api: Add comments for API virDomainQemuMonitorCommand (Osier Yang)
- qemu_api: Update Makefile for subdir docs (Osier Yang)
- qemu_api: Modify apibuild.py to generate docs for QEMU APIs (Osier Yang)
- Do not log invalid operations in libvirtd logs (Daniel Veillard)
- selinux: Detect virt_use_nfs boolean set (Michal Privoznik)
- xml: Change virtual file names of xml documents parsed in memory (Peter Krempa)
- maint: update to latest gnulib (Eric Blake)
- snapshot: use new API for less work (Eric Blake)
- snapshot: new APIs for inspecting snapshot object (Eric Blake)
- virsh: fix typo in opts_send_key (Alex Jia)
- link-state: virsh: Add wrapper commands for changing link state (Peter Krempa)
- link-state: qemu: Add net intf modification to virUpdateDeviceFlags (Peter Krempa)
- link-state: qemu: Add monitor handling for link state modification (Peter Krempa)
- link-state: conf: Add element to XML for controling link state (Peter Krempa)
- link-state: util: Add equality comparison functions for structures (Peter Krempa)
- XML: Improve XML parsing error messages (Peter Krempa)
- redirdev: allows to specify device address (Marc-André Lureau)
- latency: Update virsh command domblkstat to use new API (Osier Yang)
- latency: Expose the new API for Python binding (Osier Yang)
- latency: Implemente internal API for qemu driver (Osier Yang)
- latency: Update monitor functions for new latency fields (Osier Yang)
- latency: Wire up the remote protocol (Osier Yang)
- latency: Implemente the public API (Osier Yang)
- latency: Define the internal driver callback (Osier Yang)
- qemu: Deal with stucked qemu on daemon startup (Michal Privoznik)
- qemu: Introduce job queue size limit (Michal Privoznik)
- daemon: Create priority workers pool (Michal Privoznik)
- snapshot: use SELinux and lock manager with external snapshots (Eric Blake)
- snapshot: wire up live qemu disk snapshots (Eric Blake)
- snapshot: wire up new qemu monitor command (Eric Blake)
- snapshot: make it possible to audit external snapshot (Eric Blake)
- snapshot: reject unimplemented disk snapshot features (Eric Blake)
- snapshot: wire up disk-only flag to snapshot-create (Eric Blake)
- snapshot: add flag for requesting disk snapshot (Eric Blake)
- snapshot: add virsh domblklist command (Eric Blake)
- snapshot: also support disks by path (Eric Blake)
- snapshot: add <disks> to snapshot xml (Eric Blake)
- snapshot: support extra state in snapshots (Eric Blake)
- snapshot: expose halt-after-creation in virsh (Eric Blake)
- snapshot: allow halting after snapshot (Eric Blake)
- snapshot: expose new delete flag in virsh (Eric Blake)
- snapshot: introduce new deletion flag (Eric Blake)
- snapshot: reject transient disks where code is not ready (Eric Blake)
- snapshot: additions to domain xml for disks (Eric Blake)
- Check for source conflicts in storage pools (Lei Li)
- Add a usb1 & usb2 qemuxml2argv test (Marc-André Lureau)
- PIIX3 USB controller is on function 2 (Marc-André Lureau)
- snapshot: store qemu domain details in xml (Eric Blake)
- snapshot: update rng to support full domain in xml (Eric Blake)
- snapshot: correctly escape generated xml (Eric Blake)
- snapshot: allow full domain xml in snapshot (Eric Blake)
- snapshot: refactor domain xml output (Eric Blake)
- snapshot: prevent migration from stranding snapshot data (Eric Blake)
- snapshot: support new undefine flags in qemu (Eric Blake)
- snapshot: cache qemu-img location (Eric Blake)
- snapshot: refactor some qemu code (Eric Blake)
- snapshot: teach virsh about new undefine flags (Eric Blake)
- snapshot: prevent stranding snapshot data on domain destruction (Eric Blake)
- snapshot: add qemu snapshot redefine support (Eric Blake)
- snapshot: add qemu snapshot creation without metadata (Eric Blake)
- snapshot: improve virsh snapshot-create, add snapshot-edit (Eric Blake)
- snapshot: refactor virsh snapshot creation (Eric Blake)
- snapshot: allow recreation of metadata (Eric Blake)
- snapshot: identify qemu snapshot roots (Eric Blake)
- snapshot: reflect new dumpxml and list options in virsh (Eric Blake)
- snapshot: identify which snapshots have metadata (Eric Blake)
- snapshot: let qemu discard only snapshot metadata (Eric Blake)
- snapshot: allow deletion of just snapshot metadata (Eric Blake)
- snapshot: simplify acting on just children (Eric Blake)
- snapshot: track current domain across deletion of children (Eric Blake)
- snapshot: avoid crash when deleting qemu snapshots (Eric Blake)
- snapshot: speed up snapshot location (Eric Blake)
- snapshot: add snapshot-list --parent to virsh (Eric Blake)
- snapshot: fine-tune qemu snapshot revert states (Eric Blake)
- snapshot: properly revert qemu to offline snapshots (Eric Blake)
- snapshot: improve reverting to qemu paused snapshots (Eric Blake)
- snapshot: fine-tune qemu saved images starting paused (Eric Blake)
- snapshot: expose --running and --paused in virsh (Eric Blake)
- snapshot: fine-tune ability to start paused (Eric Blake)
- snapshot: better events when starting paused (Eric Blake)
- Learn to use spicevmc as a redirection type for usb-redir (Marc-André Lureau)
- Add "redirdev" redirection device (Marc-André Lureau)
- qemu: Don't append 0 at usb id, so that it is compatible with legacy -usb (Marc-André Lureau)
- qemu: don't reserve slot 1 if a PIIX3 USB controller is defined there (Marc-André Lureau)
- Modify USB port to be defined as a port path (Marc-André Lureau)
- Add USB companion controllers support (Marc-André Lureau)
- USB devices gain a new USB address child element (Marc-André Lureau)
- test: USB controller can have a PCI address child element (Marc-André Lureau)
- Add a new controller type 'usb' with optionnal 'model' (Marc-André Lureau)
- Add USB controller models (Marc-André Lureau)
- Rename virDomainControllerModel to virDomainControllerModelSCSI (Marc-André Lureau)
- Add various USB devices QEMU_CAPS (Marc-André Lureau)
- tests: add missing files (Eric Blake)
- Add directsync cache mode support for disk driver (Osier Yang)
- storage: Add virsh support for fs pool formating (Osier Yang)
- storage: Add mkfs and libblkid to build system (Osier Yang)
- qemu: refactor file opening (Eric Blake)
- lxc: do not require 'ifconfig' or 'ipconfig' in container (Scott Moser)
- Create ptmx as a device (Serge Hallyn)
- BlockPull: Set initial bandwidth limit if specified (Adam Litke)
- BlockJob: Bandwidth parameter is in MB when using text monitor (Adam Litke)
- Increase size of buffer for xend response (Jim Fehlig)
- virsh: support 'virsh start --force-boot' on older servers (Eric Blake)
- build: fix 'make check' with pdwtags (Eric Blake)
- virsh: Expose virDomainMigrateGetMaxSpeed API (Jim Fehlig)
- virsh: prefer unsigned flags (Eric Blake)
- storage: Fix incorrect error codes (Osier Yang)
- remote: Fix incorrect error codes (Osier Yang)
- nodeinfo: Fix incorrect error codes (Osier Yang)
- conf: Substitute OPERATION_INVALID with INTERNAL_ERROR (Osier Yang)
- start: allow discarding managed save (Eric Blake)
- build: simplify use of verify (Eric Blake)
- rpc: fix a typo in debugging log in virNetServerProgramSendStreamData (Guannan Ren)
- maint: fix spelling errors on lose (Eric Blake)
- Fix generator to cope with call-by-ref long types (Jim Fehlig)
- hyperv: Add OpenWSMAN based client for the Hyper-V WMI API (Matthias Bolte)
- hyperv: Add driver skeleton (Matthias Bolte)
- hyperv: Add configure check for OpenWSMAN (Matthias Bolte)
- virterror: Fix error message for VIR_ERR_INVALID_ARG (Michal Privoznik)
- Fix keymap used to talk with QEMU (Daniel P. Berrange)
- security: Introduce SetSocketLabel (Jiri Denemark)
- security: Rename SetSocketLabel APIs to SetDaemonSocketLabel (Jiri Denemark)
- Ignore unused streams in virStreamAbort (Jiri Denemark)
- snapshot: track current snapshot across restarts (Eric Blake)
- snapshot: only pass snapshot to qemu command line when reverting (Eric Blake)
- libvirt: log all flags parameters (Eric Blake)
- virsh: add list --managed-save (Eric Blake)
- esx: Refactor a repeated string in the generator (Matthias Bolte)
- maint: fix comment typos (Eric Blake)
- virsh: Substitute goto label out with cleanup (Osier Yang)
- virsh: Do not try to free domain if it is NULL (Osier Yang)
- xen: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang)
- storage: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang)
- remote: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang)
- qemu: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang)
- nodeinfo: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang)
- lxc: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang)
- conf: Cleanup improper use of VIR_ERR_NO_SUPPORT in node_device_conf (Osier Yang)
- qemu: Substitute VIR_ERR_NO_SUPPORT with VIR_ERR_OPERATION_INVALID (Osier Yang)
- virsh: Print error if specified bandwidth is invalid for blockjob (Osier Yang)
- virsh: properly interleave shared stdout and stderr (Eric Blake)
- maint: simplify lots of libxml2 clients (Eric Blake)
- xml: add another convenience function (Eric Blake)
- maint: treat more libxml2 functions as free-like (Eric Blake)
- test: rewrite test to match change in behavior (Eric Blake)
- build: fix typo in recent test patch (Eric Blake)
- vmware: Allow to undefine a running domain (Osier Yang)
- uml: Allow to undefine a running domain (Osier Yang)
- test: Allow to undefine a running domain (Osier Yang)
- qemu: Allow to undefine a running domain (Osier Yang)
- openvz: Allow to undefine a running domain (Osier Yang)
- lxc: Allow to undefine a running domain (Osier Yang)
- libxl: Allow to undefine a running domain. (Osier Yang)
- qemu: Get memory balloon info correctly for text monitor (Osier Yang)
- qemu: disk migration verbose progress (Tom Vijlbrief)
- virsh: concatenate qemu-monitor-command arguments (Eric Blake)
- virsh: tweak misleading wording (Eric Blake)
- Tweak debugging message in RPC client code (Daniel P. Berrange)
- maint: add missing symbols (Stefan Berger)
- macvtap: Fix getPhysfn to get the PF of a direct attach network interface (Roopa Prabhu)
- interface: Add functions to get sriov PF/VF relationship of a net interface (Roopa Prabhu)
- pci: Add helper functions for sriov devices (Roopa Prabhu)
- pci: Move some pci sriov helper code out of node device driver to util/pci (Roopa Prabhu)
- qemu: support event_idx parameter for virtio disk and net devices (Laine Stump)
- qemu: Use fd: protocol for migration (Jiri Denemark)
- qemu: Use virNetSocket for tunneled migration (Jiri Denemark)
- qemu: Refactor do{Tunnel,Native}Migrate functions (Jiri Denemark)
- Support changing UNIX socket owner in virNetSocketNewListenUNIX (Jiri Denemark)
- Add backlog parameter to virNetSocketListen (Jiri Denemark)
- Add API for duplicating a socket/client file descriptor (Daniel P. Berrange)
- Swap virDomain / virDomainSnapshot declaration (Philipp Hahn)
- build: fix recent build failures (Eric Blake)
- Convert libvirtd to use crash-safe pidfile APIs (Daniel P. Berrange)
- Add some APIs which use locking for crashsafe pidfile handling (Daniel P. Berrange)
- Introduce functions for checking whether a pidfile is valid (Daniel P. Berrange)
- Move pidfile functions into util/virpidfile.{c,h} (Daniel P. Berrange)
- Add virFileLock and virFileUnlock APIs (Daniel P. Berrange)
- vbox, xenapi: add virDomainUndefineFlags (Eric Blake)
- virsh: don't reject undefine on active domain (Eric Blake)
- virsh: Add dir type for listing volumes with vol-list (Peter Krempa)
- virsh: add snapshot-parent (Eric Blake)
- virsh: add virsh snapshot-current --name (Eric Blake)
- virsh: fix snapshot-create-as to handle arbitrary names (Eric Blake)
- qemu: minor formatting cleanup (Eric Blake)
- Allow use of file images for LXC container filesystems (Daniel P. Berrange)
- Fix typo in LXC cgroups setup error message (Daniel P. Berrange)
- Allow use of block devices for guest filesystem (Daniel P. Berrange)
- qemu: Avoid overwriting errors from virGetHostname (Jiri Denemark)
- network: eliminate lag in updating dnsmasq hosts files (Laine Stump)
- build: update to latest gnulib (Eric Blake)
Cleanups:
- maint: ignore generated files (Eric Blake)
- Remove two references to files not generated (Daniel Veillard)
- latency: fix make check for remote protocol structs and numbers (Daniel Veillard)
- security: fix build (Eric Blake)
- Remove bogus virSecurityManagerSetProcessFDLabel method (Daniel P. Berrange)
- libvirt: avoid dead store in virDomainMigrateVersion3 (Alex Jia)
- qemu: avoid dead store in doPeer2PeerMigrate3 (Alex Jia)
- maint: ignore generated file (Eric Blake)
- maint: ignore generated file (Eric Blake)
- maint: let emacs avoid tabs in rng files (Eric Blake)
- virsh: fix dead store (Eric Blake)
- qemu: silence clang false positive (Eric Blake)
- qemu: avoid dead store in qemuMonitorTextBlockJob (Alex Jia)
- qemu: avoid dead store in qemuProcessStart (Alex Jia)
Thanks to everybody who contributed to this release, by submitting
bug, reports, documentation, patches or just ideas !
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/
1
1
20 Sep '11
On Mon, Sep 19, 2011 at 08:15:18AM -0500, Adam Litke wrote:
> On Mon, Sep 19, 2011 at 04:04:04PM +0800, Daniel Veillard wrote:
> > On Sun, Sep 18, 2011 at 09:37:22AM -0500, Adam Litke wrote:
> > Hum, I wonder if remoteRelayDomainEventBlockJob shouldn't strdup the
> > path string instead of using it directly in the
> > remote_domain_event_block_job_msg block. As a result since we now
> > free the datapointed by the xdr message within
> > remoteDispatchDomainEventSend() , this errors wasn't shown before but
> > leads to a double free now.
> >
> > BTW it seems we don't check all allocations in the xdr code (on purpose
> > ?) for example make_nonnull_domain() doesn't check a strdup.
> >
> > Could you check the following patch ?
>
> Yep, this seems to fix the problem (and an extra check with valgrind shows no
> memory leaks. Although I haven't verified it, the functions:
>
> remoteRelayDomainEventIOError
> remoteRelayDomainEventIOErrorReason
> remoteRelayDomainEventGraphics
>
> appear to have the same problem as well.
Right though they do far more allocations. I ended up pushing the
following patch which tries to be a bit better on handling memory
allocation error, but it's not fully complete yet:
Fix crash on events due to allocation errors
remoteRelayDomainEventBlockJob, remoteRelayDomainEventIOError,
remoteRelayDomainEventIOErrorReason and remoteRelayDomainEventGraphics
were using const string directly in rpc structure, before calling
remoteDispatchDomainEventSend(). But that routine now frees up all
the pointed allocated memory from the rpc structure and we end up
with a double free.
This now strdup() all the strings passed and provide mem_error goto
labels to be used when an allocation error occurs.
Note that the cleanup isn't completely finished because all relaying
function also call make_nonnull_domain() which also allocate a string
and never handle the error case. This patches doesn't try to address
this as this is only error correctness a priori and touches far more
functions in this module:
* daemon/remote.c: fix string allocations and memory error handling
for remoteRelayDomainEventBlockJob, remoteRelayDomainEventIOError,
remoteRelayDomainEventIOErrorReason and remoteRelayDomainEventGraphics
diff --git a/daemon/remote.c b/daemon/remote.c
index 45244f8..74e759a 100644
--- a/daemon/remote.c
+++ b/daemon/remote.c
@@ -234,9 +234,13 @@ static int remoteRelayDomainEventIOError(virConnectPtr conn ATTRIBUTE_UNUSED,
/* build return data */
memset(&data, 0, sizeof data);
+ data.srcPath = strdup(srcPath);
+ if (data.srcPath == NULL)
+ goto mem_error;
+ data.devAlias = strdup(devAlias);
+ if (data.devAlias == NULL)
+ goto mem_error;
make_nonnull_domain(&data.dom, dom);
- data.srcPath = (char*)srcPath;
- data.devAlias = (char*)devAlias;
data.action = action;
remoteDispatchDomainEventSend(client, remoteProgram,
@@ -244,6 +248,11 @@ static int remoteRelayDomainEventIOError(virConnectPtr conn ATTRIBUTE_UNUSED,
(xdrproc_t)xdr_remote_domain_event_io_error_msg, &data);
return 0;
+mem_error:
+ virReportOOMError();
+ virFree(data.srcPath);
+ virFree(data.devAlias);
+ return -1;
}
@@ -266,17 +275,31 @@ static int remoteRelayDomainEventIOErrorReason(virConnectPtr conn ATTRIBUTE_UNUS
/* build return data */
memset(&data, 0, sizeof data);
- make_nonnull_domain(&data.dom, dom);
- data.srcPath = (char*)srcPath;
- data.devAlias = (char*)devAlias;
+ data.srcPath = strdup(srcPath);
+ if (data.srcPath == NULL)
+ goto mem_error;
+ data.devAlias = strdup(devAlias);
+ if (data.devAlias == NULL)
+ goto mem_error;
data.action = action;
- data.reason = (char*)reason;
+ data.reason = strdup(reason);
+ if (data.reason == NULL)
+ goto mem_error;
+
+ make_nonnull_domain(&data.dom, dom);
remoteDispatchDomainEventSend(client, remoteProgram,
REMOTE_PROC_DOMAIN_EVENT_IO_ERROR_REASON,
(xdrproc_t)xdr_remote_domain_event_io_error_reason_msg, &data);
return 0;
+
+mem_error:
+ virReportOOMError();
+ virFree(data.srcPath);
+ virFree(data.devAlias);
+ virFree(data.reason);
+ return -1;
}
@@ -308,33 +331,62 @@ static int remoteRelayDomainEventGraphics(virConnectPtr conn ATTRIBUTE_UNUSED,
/* build return data */
memset(&data, 0, sizeof data);
- make_nonnull_domain(&data.dom, dom);
data.phase = phase;
- data.authScheme = (char*)authScheme;
-
data.local.family = local->family;
- data.local.node = (char *)local->node;
- data.local.service = (char *)local->service;
-
data.remote.family = remote->family;
- data.remote.node = (char*)remote->node;
- data.remote.service = (char*)remote->service;
+ data.authScheme = strdup(authScheme);
+ if (data.authScheme == NULL)
+ goto mem_error;
+
+ data.local.node = strdup(local->node);
+ if (data.local.node == NULL)
+ goto mem_error;
+ data.local.service = strdup(local->service);
+ if (data.local.service == NULL)
+ goto mem_error;
+
+ data.remote.node = strdup(remote->node);
+ if (data.remote.node == NULL)
+ goto mem_error;
+ data.remote.service = strdup(remote->service);
+ if (data.remote.service == NULL)
+ goto mem_error;
data.subject.subject_len = subject->nidentity;
- if (VIR_ALLOC_N(data.subject.subject_val, data.subject.subject_len) < 0) {
- virReportOOMError();
- return -1;
- }
+ if (VIR_ALLOC_N(data.subject.subject_val, data.subject.subject_len) < 0)
+ goto mem_error;
+
for (i = 0 ; i < data.subject.subject_len ; i++) {
- data.subject.subject_val[i].type = (char*)subject->identities[i].type;
- data.subject.subject_val[i].name = (char*)subject->identities[i].name;
+ data.subject.subject_val[i].type = strdup(subject->identities[i].type);
+ if (data.subject.subject_val[i].type == NULL)
+ goto mem_error;
+ data.subject.subject_val[i].name = strdup(subject->identities[i].name);
+ if (data.subject.subject_val[i].name == NULL)
+ goto mem_error;
}
+ make_nonnull_domain(&data.dom, dom);
remoteDispatchDomainEventSend(client, remoteProgram,
REMOTE_PROC_DOMAIN_EVENT_GRAPHICS,
(xdrproc_t)xdr_remote_domain_event_graphics_msg, &data);
return 0;
+
+mem_error:
+ virReportOOMError();
+ virFree(data.authScheme);
+ virFree(data.local.node);
+ virFree(data.local.service);
+ virFree(data.remote.node);
+ virFree(data.remote.service);
+ if (data.subject.subject_val != NULL) {
+ for (i = 0 ; i < data.subject.subject_len ; i++) {
+ virFree(data.subject.subject_val[i].type);
+ virFree(data.subject.subject_val[i].name);
+ }
+ virFree(data.subject.subject_val);
+ }
+ return -1;
}
static int remoteRelayDomainEventBlockJob(virConnectPtr conn ATTRIBUTE_UNUSED,
@@ -355,16 +407,23 @@ static int remoteRelayDomainEventBlockJob(virConnectPtr conn ATTRIBUTE_UNUSED,
/* build return data */
memset(&data, 0, sizeof data);
- make_nonnull_domain(&data.dom, dom);
- data.path = (char*)path;
+ data.path = strdup(path);
+ if (data.path == NULL)
+ goto mem_error;
data.type = type;
data.status = status;
+ make_nonnull_domain(&data.dom, dom);
remoteDispatchDomainEventSend(client, remoteProgram,
REMOTE_PROC_DOMAIN_EVENT_BLOCK_JOB,
(xdrproc_t)xdr_remote_domain_event_block_job_msg, &data);
return 0;
+
+mem_error:
+ virReportOOMError();
+ virFree(data.path);
+ return -1;
}
--
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/
1
0
19 Sep '11
On Sun, Sep 18, 2011 at 09:37:22AM -0500, Adam Litke wrote:
> I am getting SIGABRT and SIGSEGV in libvirtd when trying to catch blockJob
> events.
>
> When running under valgrind I get the following:
> ==19819== Thread 1:
> ==19819== Invalid free() / delete / delete[]
> ==19819== at 0x4C282ED: free (vg_replace_malloc.c:366)
> ==19819== by 0x4E7B48: virFree (memory.c:310)
> ==19819== by 0x7669C32: virDomainEventFree (domain_event.c:510)
> ==19819== by 0x766AFE2: virDomainEventQueueDispatch (domain_event.c:1154)
> ==19819== by 0x766B19D: virDomainEventStateFlush (domain_event.c:1195)
> ==19819== by 0x483E15: qemuDomainEventFlush (qemu_domain.c:134)
> ==19819== by 0x507535: virEventPollRunOnce (event_poll.c:421)
> ==19819== by 0x4E6D44: virEventRunDefaultImpl (event.c:247)
> ==19819== by 0x44813C: virNetServerRun (virnetserver.c:701)
> ==19819== by 0x41FECE: main (libvirtd.c:1564)
> ==19819== Address 0x131b0a30 is 0 bytes inside a block of size 15 free'd
> ==19819== at 0x4C282ED: free (vg_replace_malloc.c:366)
> ==19819== by 0x7FB006C: xdr_string (xdr.c:722)
> ==19819== by 0x43A5FD: xdr_remote_nonnull_string (remote_protocol.c:30)
> ==19819== by 0x442E2B: xdr_remote_domain_event_block_job_msg
> (remote_protocol.c:4000)
> ==19819== by 0x7FAF6C4: xdr_free (xdr.c:72)
> ==19819== by 0x431BDA: remoteRelayDomainEventBlockJob (remote.c:363)
Hum, I wonder if remoteRelayDomainEventBlockJob shouldn't strdup the
path string instead of using it directly in the
remote_domain_event_block_job_msg block. As a result since we now
free the datapointed by the xdr message within
remoteDispatchDomainEventSend() , this errors wasn't shown before but
leads to a double free now.
BTW it seems we don't check all allocations in the xdr code (on purpose
?) for example make_nonnull_domain() doesn't check a strdup.
Could you check the following patch ?
Daniel
diff --git a/daemon/remote.c b/daemon/remote.c
index 38bbb10..1d9156c 100644
--- a/daemon/remote.c
+++ b/daemon/remote.c
@@ -356,7 +356,11 @@ static int remoteRelayDomainEventBlockJob(virConnectPtr conn ATTRIBUTE_UNUSED,
/* build return data */
memset(&data, 0, sizeof data);
make_nonnull_domain(&data.dom, dom);
- data.path = (char*)path;
+ data.path = strdup(path);
+ if (data.path == NULL) {
+ virReportOOMError();
+ return -1;
+ }
data.type = type;
data.status = status;
--
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/
1
0
19 Sep '11
On Sun, Sep 18, 2011 at 08:48:23PM -0700, Jason Helfman wrote:
> On Sun, Sep 18, 2011 at 06:55:06PM +0800, Daniel Veillard thus spake:
> >I have made a third release candidate tarball (and associated rpms) at
> > ftp://libvirt.org/libvirt/libvirt-0.9.5-rc2.tar.gz
> >and tagged in git for it.
> >This one should fis the MacOS-X/BSD portability problem thanks to Peter
> >and Eric, and if everything goes well I will probably release 0.9.5 on
> >Monday or more likely on Tuesday to give people a bit more time to test that
> >latest candidate
> >
> > So give it a try, thanks !
> >
> >Daniel
> >
>
> Failed build on FreeBSD:
>
> gmake[3]: Entering directory
> `/home/jhelfman/ports/devel/libvirt/work/libvirt-0.9.5/src'
> CCLD libvirt_iohelper
> ./.libs/libvirt_util.a(libvirt_util_la-threads.o)(.text+0x263): In
> function `virThreadCreate':
> : undefined reference to `pthread_create'
Hum, it compiles so you have pthreads on the system, but maybe it
needs to be linked through a special -lpthread linker option
Looking at configure.ac it seems that gnulib is setting $LIB_PTHREAD
can you look in your config.log for pthread lookup result and
in the resulting src/Makefile to see how LIB_PTHREAD is set,
thanks,
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/
1
0
[Libvirt-announce] Start of freeze for libvirt-0.9.5 and availability of rc1
by Daniel Veillard 18 Sep '11
by Daniel Veillard 18 Sep '11
18 Sep '11
With a bit of delay, we are entering the freeze for libvirt-0.9.5 .
We may make an exception for the last couple of patches from Hu to
add string to typed parameters and the extra associated patch, as
well as bug fixes too of course !
I have made a release candidate 1 tarball (and associated rpms) at
ftp://libvirt.org/libvirt/libvirt-0.9.5-rc1.tar.gz
This seems to pass my minimal tests without problems, but please
give it a try too and report problems,
I think I will make an rc2 next Monday (or earlier) and then try to
make the release around Wednesday next week
thanks in advance,
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/
1
2
With an extra day of delay but allowing to pick all coverity checks
related patches from Eric, the release is out, I hope it's solid :-)
available as usual at:
ftp://libvirt.org/libvirt/libvirt-0.9.4.tar.gz
along with signed RPMs
This is again a fairly big release with more than 400 commits included,
both new API, improvement and a large amount of fixes:
Features:
- bandwidth QoS control (Michal Privoznik)
- Add new API virDomainBlockPull* (Adam Litke)
- save: new API to manipulate save file images (Eric Blake)
- CPU bandwidth limits support (Wen Congyang)
- allow to send NMI and key event to guests (Lai Jiangshan)
- new API virDomainUndefineFlags (Osier Yang)
- Implement code to attach to external QEMU instances. (Daniel P. Berrange)
- various missing python binding (Hu Tao and Lai Jiangshan)
- bios: Add support for SGA (Michal Privoznik)
Documentation:
- doc: fix confusing statement about required privileges (Eric Blake)
- doc: fix incorrect option in blockjob (Alex Jia)
- Correct the default value of lock_manager in qemu.conf (Guannan Ren)
- libvirt.c: Update outdated description of flags (Michal Privoznik)
- qemu: Improve docs for virsh dump format (Osier Yang)
- qemu: improve thread documentation (Eric Blake)
- doc: Add doc for blockpull and blockjob commands (Osier Yang)
- Fix incorrect implication about list options (Dave Allan)
- Fix typos in virsh.pod file (Daniel P. Berrange)
- network: Fix typo (Osier Yang)
- Break up 'Basic Resources' XML section (Cole Robinson)
- driver.h: Fix two driver documentation mistakes (Wieland Hoffmann)
- doc: Add documentation for new cputune elements period and quota (Wen Congyang)
- doc: Correct documents for iface commands (Osier Yang)
- improve virsh man page synopses (Eric Blake)
- Fix spice documentation typo (Michal Privoznik)
- document dxml argument to migrate2 (Eric Blake)
- website: Point main page links to libvirt driver pages (Dave Allan)
- maint: fix typos (Eric Blake)
- mention EMOTIVE as a libvirt-using app (Eric Blake)
- virsh: Update virsh man page (Supriya Kannery)
- Fix virsh inject-nmi man page (KAMEZAWA Hiroyuki)
- virsh: make destroy sound less scary (Eric Blake)
- minor whitespace cleanups (Eric Blake)
- Add documentation for the seclabel XML element (Daniel P. Berrange)
Portability:
- build: fix include path for cygwin (Eric Blake)
- build: avoid non-portable shell in test setup (Eric Blake)
- tests: Don't use bash if we don't have to (Matthias Bolte)
- freebsd: Fix build problem due to picking up the wrong libvirt.h (Matthias Bolte)
- freebsd: Avoid /bin/true in commandtest (Matthias Bolte)
- freebsd: Add gnulib environ module for the commandtest (Matthias Bolte)
- build: support warnings on RHEL 5 (Eric Blake)
- Build: fix build if HAVE_AVAHI is not defined (Stefan Berger)
- sysinfo: Don't try to run dmidecode on archs missing it (Michal Privoznik)
- udev: Don't try to dump DMI on non-intel archs (Michal Privoznik)
- Fix build when using polkit0 (Jim Fehlig)
- Fix rpm build with sanlock and without QEmu (Daniel Veillard)
- Skip some xen tests if xend is not running (Jim Fehlig)
- build: fix virBufferVasprintf on mingw (Eric Blake)
- Fix compilation of statstest.c during make check (Jim Fehlig)
- Fix compilation error when SASL support is disabled (Jean-Baptiste Rouault)
- tests: Disable networkxml2argvtest when configured without network (Matthias Bolte)
Bug Fixes:
- util: plug memory leak (Eric Blake)
- rpc: avoid null deref (Eric Blake)
- qemu: avoid memory leaks (Eric Blake)
- qemu: plug child process leak on domain core dump (Eric Blake)
- conf: avoid memory leak on disk operations (Eric Blake)
- rpc: avoid crash on error (Eric Blake)
- qemu: avoid null deref on block pull error (Eric Blake)
- rpc: correctly process sasl whitelist globs (Eric Blake)
- screenshot: don't unlink bogus file (Eric Blake)
- python: avoid unlikely sign extension bug (Eric Blake)
- rpc: avoid uninitialized memory use (Eric Blake)
- rpc: avoid double close on error (Eric Blake)
- qemu: Unlink temporary file on failure (Michal Privoznik)
- rpc: avoid libvirtd crash on unexpected client close (Eric Blake)
- virsh: fix memory leak in cmdNetworkInfo (Alex Jia)
- openvz: detect when a domain was shut down from the inside (Jean-Baptiste Rouault)
- qemu: fix crash when mixing sync and async monitor jobs (Eric Blake)
- qemu: fix return value issue (Alex Jia)
- qemu: fix return value issue in qemuDomainSetMemoryParameters (Alex Jia)
- virsh: Fix vol-name and vol-pool commands (Matthias Bolte)
- qemu: Fix a regression of domjobabort (Osier Yang)
- conf: Don't leak the virtual port profile in virNetworkDefFree (Matthias Bolte)
- network: don't forward DNS requests from isolated networks (Laine Stump)
- virsh: avoid missing zero value judgement in cmdBlkiotune (Alex Jia)
- qemu: fix nested job with driver lock held (Eric Blake)
- qemu: Fix memory leak on metadata fetching (Michal Privoznik)
- virsh: fix memory leak in cmdVolPath code (Alex Jia)
- rpc: Fix memory leak in remoteDomainSet*Parameters functions (Matthias Bolte)
- qemu: Recover from interrupted migration (Jiri Denemark)
- python: Properly report errors if virStreamRecv fails (Cole Robinson)
- Fix race in ref counting when handling RPC jobs (Daniel P. Berrange)
- Fix build with gnutls 1.0.x branch (Daniel P. Berrange)
- Add libtasn1-devel as a BuildRequires for libvirt.spec (Daniel P. Berrange)
- Add mutex protection to SASL and TLS modules (Daniel P. Berrange)
- Report error if unable to bind to any socket (Daniel P. Berrange)
- Fix leak of mDNS object in virNetServer (Daniel P. Berrange)
- Fix memory leaks in MDNS code (Daniel P. Berrange)
- python: Handle embedded NUL in stream.send data (Cole Robinson)
- Catch dnsmasq start failures (Guido Günther)
- Fix import of private key with older gnutls (Daniel P. Berrange)
- Fix TLS context tests with expired certs (Daniel P. Berrange)
- Honour filesystem readonly flag & make special FS readonly (Daniel P. Berrange)
- xenapi: Fix double-freeing the session in xenapiClose (Matthias Bolte)
- remote: Fix forgotten comma (Michal Privoznik)
- qemu: fix error message with migrate2 xml (Eric Blake)
- command: avoid leaking fds across fork (Eric Blake)
- error: preserve errno when saving last error (Eric Blake)
- Fix uninitialized variable in QEMU CPU bandwidth code (Daniel P. Berrange)
- fix make syntax-check error (Wen Congyang)
- rpc: Pass through DISPLAY so ssh can launch askpass (Cole Robinson)
- Don't try to close a NULL virNetClientPtr (Guannan Ren)
- Honour key usage/purpose criticality flag (Daniel P. Berrange)
- Fix reporting of errors for p2p migration (Daniel P. Berrange)
- Use a virFreeCallback on virNetSocket to ensure safe release (Daniel P. Berrange)
- Add mutex locking and reference counting to virNetSocket (Daniel P. Berrange)
- util: avoid fds leak when virEventPollAddHandle fail (Alex Jia)
- virsh: avoid double free of domain (Alex Jia)
- build: Fix protocol-structs check in VPATH build (Jiri Denemark)
- Fix now dead cleanup of VMs on libvirtd restart (Daniel P. Berrange)
- qemu: Fix a regression of attaching device (Osier Yang)
- storage: Avoid memory leak on metadata fetching (Michal Privoznik)
- qemu: Don't overwrite errors by closefd in error paths (Jiri Denemark)
- qemu: Save domain status ASAP after creating qemu process (Jiri Denemark)
- util: Avoid duplicating virFileOpenAsNoFork in virFileOpenAs (Jiri Denemark)
- virsh: fix missing prompt message for 'snapshot-delete' command (Nan Zhang)
- Ensure signal handler propagates fatal signals to default handler (Daniel P. Berrange)
- qemu: Fix monitor unlocking in some error paths (Jiri Denemark)
- esx: Initialize all instances of esxVMX_Data to zero (Matthias Bolte)
- qemu: avoid fd leak on core dump failure (Eric Blake)
- domain_conf: Free temporary variable (Michal Privoznik)
- esx: Fix a potential crash (Osier Yang)
- remote: Fix memory leak (Alex Jia)
- kill vm if saving config failed in v3 protocol (Wen Congyang)
- Don't exit if the libvirtd config does not exist (Daniel P. Berrange)
- Fix sending of reply to final RPC message (Daniel P. Berrange)
- Fix leak of remote driver if final 'CLOSE' RPC call fails (Daniel P. Berrange)
- Fix release of outgoing stream confirmation/abort message (Daniel P. Berrange)
- Fix leak of 'msg' object in client stream code (Daniel P. Berrange)
- Fix potential crash in libvirtd with active streams (Daniel P. Berrange)
- Fix mistaken order of server cert/key parameters in constructor (Daniel P. Berrange)
- util: Don't try to fchown files opened as non-root (Jiri Denemark)
- qemu: Don't chown files on NFS share if dynamic_ownership is off (Michal Privoznik)
- python: Fix bogus label placement (Matthias Bolte)
- util: close the ioctl socket at the end of if(Get|Set)MacAddress (Laine Stump)
- pci: initialize state values on reattach (Guannan Ren)
- qemu: Fix virFileMakePath error handling in snapshot creation (Matthias Bolte)
- storage: Do not override the exact error of createRawFile (Osier Yang)
Improvements:
- build: allow caching the input to STATIC_ANALYSIS (Eric Blake)
- fdstream: drop delete argument (Eric Blake)
- save: generate idempotent inactive xml for running domain (Eric Blake)
- conf: make 'vnet' prefix a macro (Eric Blake)
- utils: More useful error message for hook script failure (Osier Yang)
- tests: Unify style of test skipping code (Matthias Bolte)
- save: let qemu driver manipulate save files (Eric Blake)
- save: support qemu modifying xml on domain save/restore (Eric Blake)
- xen: make direct call when there is only one subdriver (Eric Blake)
- xen: reduce callback special cases (Eric Blake)
- xen: cleanup callback struct (Eric Blake)
- libxl: fix build failure due to change in virDomainGraphicsDef (Laine Stump)
- qemu: support type=network in domain graphics <listen> (Laine Stump)
- conf: add <listen> subelement to domain <graphics> element (Laine Stump)
- python: add python binding for virDomainSetMemoryParameters (Hu Tao)
- python: add python binding for virDomainGetMemoryParameters (Hu Tao)
- python: add python binding for virDomainSetBlkioParameters (Hu Tao)
- python: add python binding for virDomainGetBlkioParameters (Hu Tao)
- virsh: expose change-protection during migration (Eric Blake)
- send-key: Implement Python API (Lai Jiangshan)
- qemu: Remove special case for virDomainAbortJob (Jiri Denemark)
- qemu: Remove special case for virDomainSuspend (Jiri Denemark)
- qemu: Remove special case for virDomainMigrateSetMaxDowntime (Jiri Denemark)
- qemu: Remove special case for virDomainMigrateSetMaxSpeed (Jiri Denemark)
- qemu: Remove special case for virDomainBlockStats (Jiri Denemark)
- qemu: Remove special case for virDomainGetBlockInfo (Jiri Denemark)
- qemu: Migration job on source daemon (Jiri Denemark)
- qemu: Migration job on destination daemon (Jiri Denemark)
- qemu: Implement migration job phases (Jiri Denemark)
- bandwidth: Integrate bandwidth into portgroups (Michal Privoznik)
- tools: format percent strings of nodecpustats (Alex Jia)
- set cpu bandwidth for the vm (Wen Congyang)
- virsh: use faster bit search (Eric Blake)
- virsh: make vcpucount use --current consistently (Eric Blake)
- vcpu: teach getVcpusFlags about current (Eric Blake)
- util: change virFile*Pid functions to return < 0 on failure (Laine Stump)
- rename cfs_* to vcpu_* (Wen Congyang)
- python: add Python binding for virDomainGetVcpuPinInfo API (Taku Izumi)
- python: add Python binding for virDomainPinVcpusFlags API (Taku Izumi)
- python: add Python binding for virDomainGetSchedulerParametersFlags API (Taku Izumi)
- python: add Python binding for virDomainGetSchedulerParametersFlags API (Taku Izumi)
- tests: detect gnutls errors (Eric Blake)
- bandwidth: Add domain schema and xml2xml tests (Michal Privoznik)
- bandwidth: Add test cases for network (Michal Privoznik)
- bandwidth: Implement functions to enable and disable QoS (Michal Privoznik)
- bandwidth: Create format functions (Michal Privoznik)
- bandwidth: Add parsing and free functions (Michal Privoznik)
- bandwidth: Declare internal structures (Michal Privoznik)
- bandwidth: Define schema and create documentation (Michal Privoznik)
- network: provide internal API to return IP of a network (Laine Stump)
- util: add an ifaceGetIPAddress to the interface utilities (Laine Stump)
- Pre-create /var/lib/libvirt/sanlock directory (Daniel P. Berrange)
- Refactor mounting of special filesystems (Daniel P. Berrange)
- Pull code for doing a bind mount into separate method (Daniel P. Berrange)
- Fix typos in daemon config file from previous commit (Daniel P. Berrange)
- Add a test case for certificate validation (Daniel P. Berrange)
- Allow certificate sanity checking to be disabled (Daniel P. Berrange)
- remote/ssh: optional "keyfile" parameter. (Oskari Saarenmaa)
- util: make interface.c functions consistently return < 0 on error (Laine Stump)
- Refactor the certification validation code (Daniel P. Berrange)
- Remove call to deprecated gnutls_certificate_type_set_priority (again) (Daniel P. Berrange)
- Ensure that libvirtd shuts down if initialization fails (Daniel P. Berrange)
- Asynchronous event for BlockJob completion (Adam Litke)
- Enable virDomainBlockPull in the python API (Adam Litke)
- Enable the virDomainBlockPull API in virsh (Adam Litke)
- Implement virDomainBlockPull for the qemu driver (Adam Litke)
- Add virDomainBlockPull support to the remote driver (Adam Litke)
- virDomainBlockPull: Implement the main entry points (Adam Litke)
- save: add virsh commands for manipulating save files (Eric Blake)
- save: wire up remote protocol (Eric Blake)
- save: support bypass-cache flag in libvirt-guests init script (Eric Blake)
- save: support bypass-cache flag in qemu.conf (Eric Blake)
- save: support BYPASS_CACHE during qemu save/restore (Eric Blake)
- save: add virFileDirectFd wrapper type (Eric Blake)
- save: let iohelper work on O_DIRECT fds (Eric Blake)
- save: let iohelper handle inherited fd (Eric Blake)
- save: support --xml to virsh save/restore (Eric Blake)
- save: add --bypass-cache flag to virsh save/restore operations (Eric Blake)
- save: wire up trivial save/restore flags implementations (Eric Blake)
- error: add new error type for reflecting partial API support (Eric Blake)
- network: internal API functions to manage assignment of physdev to guest (Laine Stump)
- qemu: use virDomainNetGetActual*() in qemuDomainXMLToNative (Laine Stump)
- qemu: use virDomainNetGetActual*() functions where appropriate (Laine Stump)
- network: separate Start/Shutdown functions for new network types (Laine Stump)
- conf: support abstracted interface info in network XML (Laine Stump)
- conf: support abstracted interface info in domain interface XML (Laine Stump)
- conf: virDomainNetDef points to (rather than contains) virtPortProfile (Laine Stump)
- conf: put virtPortProfile struct / functions in a common location (Laine Stump)
- destroy: Implement internal API for xenapi driver (Michal Privoznik)
- destroy: Implement internal API for xen driver (Michal Privoznik)
- destroy: Implement internal API for vmware driver (Michal Privoznik)
- destroy: Implement internal API for vbox driver (Michal Privoznik)
- destroy: Implement internal API for uml driver (Michal Privoznik)
- destroy: Implement internal API for phyp driver (Michal Privoznik)
- destroy: Implement internal API for openvz driver (Michal Privoznik)
- destroy: Implement internal API for lxc driver (Michal Privoznik)
- destroy: Implement internal API for libxl driver (Michal Privoznik)
- destroy: Implement internal API for ESX driver (Michal Privoznik)
- destroy: Implement internal API for qemu driver (Michal Privoznik)
- destroy: Wire up the remote protocol (Michal Privoznik)
- destroy: Define new public API virDomainDestroyFlags (Michal Privoznik)
- save: wire up remote protocol (Eric Blake)
- save: new public API to bypass file system cache on save/restore (Eric Blake)
- build: rename files.h to virfile.h (Eric Blake)
- command: move all docs into .c file (Eric Blake)
- rpc: Make the dispatch generator handle 'void name(void)' style procedures (Matthias Bolte)
- python: Fix makefile rule for code generation (Matthias Bolte)
- qemu: Implement cfs_period and cfs_quota's modification (Wen Congyang)
- qemu: Implement period and quota tunable XML configuration and parsing (Wen Congyang)
- Update XML Schema for new entries (Wen Congyang)
- cgroup: Implement cpu.cfs_period_us and cpu.cfs_quota_us tuning API (Wen Congyang)
- Introduce the function virCgroupForVcpu (Wen Congyang)
- qemu: send-key: Implement the driver methods (Lai Jiangshan)
- send-key: Expose the new API in virsh (Lai Jiangshan)
- util: add virtkeycode module (Lai Jiangshan)
- util: Add keymaps.csv (Lai Jiangshan)
- Fix checking of key usage/purpose data (Daniel P. Berrange)
- Fix mixed up error messages when reporting TLS certificate problems (Daniel P. Berrange)
- undefine: Extend virsh undefine to support the new flag (Osier Yang)
- undefine: Implement undefineFlags for all other drivers (Osier Yang)
- undefine: Implement internal API for libxl driver (Osier Yang)
- undefine: Implement internal API for qemu driver (Osier Yang)
- undefine: Wire up the remote protocol (Osier Yang)
- undefine: Define the new API (Osier Yang)
- Add sanity checking of basic constraints, key purpose & key usage (Daniel P. Berrange)
- Add some basic sanity checking of certificates before use (Daniel P. Berrange)
- Add an explicit virNetClientClose method (Daniel P. Berrange)
- Add some debugging for virNetClient reference counting (Daniel P. Berrange)
- build: detect doc generation failure (Eric Blake)
- Unregister event callback if a fatal error occurs during dispatch (Daniel P. Berrange)
- Quieten build & ensure API build scripts exit with non-zero status (Daniel P. Berrange)
- virsh: Extend virsh dominfo to display if managed save image exists (Osier Yang)
- libvirt: do not mix internal flags into public API (Eric Blake)
- rpc: Fix typos in rpc generator scripts (Osier Yang)
- build: also track RPC on-wire enum values (Eric Blake)
- build: add syntax check for proper flags use (Eric Blake)
- xen: reject unknown flags (Eric Blake)
- esx: reject unknown flags (Eric Blake)
- virsh: improve option handling (Eric Blake)
- flags: fix domain_conf migration regression (Eric Blake)
- flags: fix qemu migration regression (Eric Blake)
- flags: use common dumpxml flags check (Eric Blake)
- add --cache, --serial, --shareable and --address to attach-disk (Hu Tao)
- Fix error message for missing TLS write function (Daniel P. Berrange)
- Fix reporting of cert validation failures (Daniel P. Berrange)
- Fix error code for storage operations (Dave Allan)
- setvcpus: add "--current" option to "virsh setvcpus" (Taku Izumi)
- setvcpus: extend qemuDomainSetVcpusFlags() to support current flag (Taku Izumi)
- setvcpus: extend virDomainSetVcpusFlags API to support current flag (Taku Izumi)
- Add domain events support to UML driver (Daniel P. Berrange)
- virnetsocket: use new API for uniform child cleanup (Eric Blake)
- fdstream: avoid child process leak on error (Eric Blake)
- command: introduce virPidWait, virPidAbort (Eric Blake)
- update apparmor security driver for new udev paths (Jamie Strandboge)
- xenapi: Improve error reporting in xenapiOpen (Matthias Bolte)
- build: fix VPATH build of todo (Eric Blake)
- build: check for virnetprotocol on-the-wire stability (Eric Blake)
- build: disable some drivers when building without libvirt daemon (Wen Congyang)
- build: avoid ATTRIBUTE_UNUSED in headers (Eric Blake)
- remote: prefer unsigned flags (Eric Blake)
- conf: delete unused flags arguments (Eric Blake)
- virsh: fix previous patch (Jiri Denemark)
- virsh: Make "DEBUG" loglevel the superset (Supriya Kannery)
- virsh: Avoid using magic numbers for logging (Supriya Kannery)
- build: don't hand-roll cloexec code (Eric Blake)
- conf: prefer unsigned flags (Eric Blake)
- python: prefer unsigned flags (Eric Blake)
- node_device: avoid implicit int (Eric Blake)
- virsh, daemon: prefer unsigned flags (Eric Blake)
- xenapi: reject unknown flags (Eric Blake)
- vmware: reject unknown flags (Eric Blake)
- vbox: reject unknown flags (Eric Blake)
- uml: reject unknown flags (Eric Blake)
- test: reject unknown flags (Eric Blake)
- qemu: reject unknown flags (Eric Blake)
- phyp: reject unknown flags (Eric Blake)
- openvz: reject unknown flags (Eric Blake)
- lxc: reject unknown flags (Eric Blake)
- libxl: reject unknown flags (Eric Blake)
- qemu: build failed due to unused variables (Peter Krempa)
- storage: reject unknown flags (Eric Blake)
- node_device: reject unknown flags (Eric Blake)
- util: reject unknown flags, and prefer unsigned flags (Eric Blake)
- libvirt-qemu: use unsigned flags (Eric Blake)
- maint: print flags in hex during debug (Eric Blake)
- maint: exclude more files from syntax check (Eric Blake)
- util: honor anchored names when searching for executables (Eric Blake)
- Remove unused virNetServerProgramErrorHander typedef (Daniel P. Berrange)
- qemu: Consolidate qemuMigrationPrepare{Direct,Tunnel} (Jiri Denemark)
- qemu: Add support for job phase (Jiri Denemark)
- qemu: Recover from interrupted jobs (Jiri Denemark)
- qemu: Save job type in domain status XML (Jiri Denemark)
- qemu: Allow all query commands to be run during long jobs (Jiri Denemark)
- qemu: Consolidate {Enter,Exit}Monitor{,WithDriver} (Jiri Denemark)
- qemu: Consolidate BeginJob{,WithDriver} into a single method (Jiri Denemark)
- qemu: Separate job related data into a new object (Jiri Denemark)
- maint: avoid incremental 'make syntax-check' failure (Eric Blake)
- Skip bugs which are CLOSED in todo list (Daniel P. Berrange)
- Add missing cleanup for transient guests in UML driver (Daniel P. Berrange)
- Add auditing to the UML driver (Daniel P. Berrange)
- Add auditing to the LXC driver (Daniel P. Berrange)
- Add virtualization type in audit messages (Daniel P. Berrange)
- Add auditing of filesystems (Daniel P. Berrange)
- Move qemu_audit.h helpers into shared code (Daniel P. Berrange)
- rpc: Fix compile error due to potentially unused parameter (Matthias Bolte)
- Add monitor API for checking whether KVM is enabled (Daniel P. Berrange)
- Add a method for extracting QEMU argv from /proc (Daniel P. Berrange)
- Change extract pidfile & monitor config from QEMU command line (Daniel P. Berrange)
- Keep pidfile path in qemuDomainObjPrivate struct (Daniel P. Berrange)
- Add a new 'virsh qemu-attach' command. (Daniel P. Berrange)
- Define remote wire protocol & impls for virDomainQemuAttach (Daniel P. Berrange)
- Define a QEMU specific API to attach to a running QEMU process (Daniel P. Berrange)
- qemu: update configuration file (Alex Jia)
- maint: rename virtaudit to match file contents (Eric Blake)
- remote/ssh: support for no_verify. (Oskari Saarenmaa)
- build: also check qemu_protocol for on-the-wire stability (Eric Blake)
- build: avoid requiring -lm (Eric Blake)
- Remove code no longer used after commit df0b57a9 (Jim Fehlig)
- Add domain type checking (Matthias Bolte)
- tests: simplify formatting (Eric Blake)
- Do not drop kernel cmdline for xen pv domains (Jim Fehlig)
- RPC: fix argument's name (Wen Congyang)
- fix typo error (Wen Congyang)
- vbox: Fix logic in storage driver open function (Matthias Bolte)
- tests: Improve output of tests that decide to skip at runtime (Matthias Bolte)
- tests: Fix compressed test output padding logic (Matthias Bolte)
- tests: Use EXIT_AM_SKIP instead of 77 directly (Matthias Bolte)
- rpc: Fix whitespace problem in generated code (Matthias Bolte)
- sanlock: avoid lockspace setup when auto_disk_lease is off (Federico Simoncelli)
- libvirtd: diagnose explicitly requested but missing conf file (Eric Blake)
- qemu: clean up OOM checks (Michael Santos)
- graphics: add support for action_if_connected in qemu (Michal Privoznik)
- microblaze: Add architecture support (John Williams)
- util: drop unused safezero argument (Eric Blake)
- conf: prefer unsigned int for flags (Eric Blake)
- drivers: prefer unsigned int for flags (Eric Blake)
- public API: prefer unsigned int for flags (Eric Blake)
- maint: print flags in hex during debug (Eric Blake)
- build: use gnulib pthread_sigmask (Eric Blake)
- util: rename err_exit to cleanup in interface.c (Laine Stump)
- sysinfo: delete unnecessary white space of sysinfo. (Minoru Usui)
- util: add virTrimSpaces (Eric Blake)
- util: fix virSkipSpaces (Eric Blake)
- Reduce code duplication in virFileMakePath(Helper) (Matthias Bolte)
- apparmor: Finish incomplete renaming of relabel to norelabel (Matthias Bolte)
- Fix default value of security label 'relabel' attribute (Daniel P. Berrange)
- Fix return value semantic of virFileMakePath (Matthias Bolte)
- nodedev: Let check_fc_host_linux report errors to the caller (Matthias Bolte)
- xml: create an RNG file for common types and move some definitions there (Laine Stump)
- docs: sort the file list in the schemas Makefile (Laine Stump)
- qemu: check flags in qemuDomainGetXMLDesc (Laine Stump)
- conf: fix domain parse flags (Laine Stump)
- conf: Fix declaration of virNetworkDNS(Hosts)Def struct (Matthias Bolte)
- Allow for resource relabelling with static labels (Daniel P. Berrange)
- Allow a base label to be specified in dynamic labelling mode (Daniel P. Berrange)
Cleanups:
- qemu: silence coverity false positives (Eric Blake)
- interface: drop dead code (Eric Blake)
- rpc: silence coverity false positives (Eric Blake)
- build: silence coverity false positives (Eric Blake)
- qemu: remove dead code (Eric Blake)
- maint: add missing copyright notices (Eric Blake)
- xen: drop unused callbacks (Eric Blake)
- build: avoid type-punning compiler warning (Eric Blake)
- tests: fix compilation failures (Eric Blake)
- build: Use $(PYTHON) instead of python for the keycode map generator (Matthias Bolte)
- build: fix bugs with destroyFlags patches (Eric Blake)
- util: define MAX (Laine Stump)
- maint: fix typos on guaranteed (Eric Blake)
- build: fix broken build (Eric Blake)
- maint: fix spelling of Red Hat (Eric Blake)
- tests: Fix virshtest failure after dominfo changed (Osier Yang)
Thanks everybody for the work done for this release, be it
documentation, ideas, patches or bug reports !
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/
1
0
[Libvirt-announce] Start of freeze for libvirt-0.9.4 and availability of rc1
by Daniel Veillard 30 Jul '11
by Daniel Veillard 30 Jul '11
30 Jul '11
As plannned we are entering the freeze for libvirt-0.9.4 .
I have made a release candidate 1 tarball (and associated rpms) at
ftp://libvirt.org/libvirt/libvirt-0.9.4-rc1.tar.gz
This seems to pass my minimal tests without problems, but please
give it a try too and report problems,
I will probably make an rc2 on Thursday or Friday, and then the
final release next Monday or Tuesday,
thanks !
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/
1
1
As scheduled, I made the new release of libvirt-0.9.3 today,
it is available at ftp://libvirt.org/libvirt/ , the rpms are still being
pushed as I write.
This is a fairly large release again, with over 330 commits
incorporated, including a number of new APIs, large refactoring of the
client server code, LXC containers improvements and many improvements
and various bug fixes.
Features:
- vcpupin: introduce the new libvirt API (virDomainGetVcpupinInfo) (Taku Izumi)
- Add TXT record support for virtual DNS service (Michal Novotny)
- Support reboots with the QEMU driver (Daniel P. Berrange)
- Introduce virDomainGetControlInfo API (Jiri Denemark)
- virNodeGetMemoryStats: Expose new API (Minoru Usui)
- virNodeGetCPUTime: Implement public API (Minoru Usui)
- send-key: Defining the public API (Lai Jiangshan)
- vcpupin: introduce a new libvirt API (virDomainPinVcpuFlags) (Taku Izumi)
- support multifunction PCI device (Wen Congyang)
- lxc: various improvements
Documentation:
- Add documentation for configuration lock managers (Daniel P. Berrange)
- fix indentation of sub-elements of <ip> in network XML (Laine Stump)
- document correct flag name (Eric Blake)
- documenting the 802.1Qbh parameters of a 'direct' interface (David S. Wang)
- Make virConnectClose comply to apibuild.py expectations (Matthias Bolte)
- fix docs to match behavior of virConnectClose (Eric Blake)
- numatune: Add doc for new numatune XML (Osier Yang)
- Fix documentation of virStreamRecv (Matthias Bolte)
- updated list of applications using libvirt. (Ohad Levy)
- improve VIR_DOMAIN_AFFECT_CURRENT description (Eric Blake)
- Add doc for video element (Osier Yang)
- Make hvsupport.pl pick up the host device drivers (Matthias Bolte)
Portability:
- Explicitely invoke python for API doc generator (Daniel Veillard)
- fix virParseVersionString with linux 3.0 (Scott Moser)
- Add conditionals to allow build without SASL (Daniel P. Berrange)
- Add missing include of signal.h in virnetsocket.c (Daniel P. Berrange)
- Fix compilation with systemtap 1.3 (Matthias Bolte)
- build: fix mingw build (Eric Blake)
- daemon: Fix build without polkit (Jiri Denemark)
- build: fix 'make check' when pdwtags is available (Eric Blake)
- build: sanlock-devel is not in F15 yet (Eric Blake)
- Only include parthelper if built with storage_disk (Ruben Kerkhof)
- build: fix VPATH builds (Eric Blake)
- python: Don't declare Py_ssize_t for Python 2.6 (Matthias Bolte)
- build: avoid python 2.4 build failure (Eric Blake)
- build: fix NUMA build on RHEL 5 (Eric Blake)
- build: avoid python 2.4 build failure (Eric Blake)
- build: avoid compiler failure (Eric Blake)
- build: fix compilation on systems missing libnl and new includes (Stefan Berger)
- configure: Make libnl optional unless macvtap is required (Matthias Bolte)
- build: require newer netcf when it is available (Eric Blake)
- build: fix building error when building without libvirtd (Wen Congyang)
- Skip nodeinfo test on non intel architectures (Guido Günther)
- Fix dlopen dependency (Matthias Bolte)
- virt-aa-helper: add missing include (Eric Blake)
Bug Fixes:
- initialize pointer to NULL (Wen Congyang)
- storage: avoid crash on parse error (Eric Blake)
- vmware: avoid null deref on failed lookup (Eric Blake)
- qemu: avoid null deref on low memory (Eric Blake)
- rpc: avoid memory leak on error (Eric Blake)
- rpc: fix logic bug (Eric Blake)
- pci: avoid memory leak on error (Eric Blake)
- interface: avoid memory leak on parse error (Eric Blake)
- libvirtd: avoid memory leak on OOM (Eric Blake)
- build: avoid double-close bug with pipe2 (Eric Blake)
- rpc: avoid freeing uninitialized variable (Eric Blake)
- virsh: avoid uninitialized variable (Eric Blake)
- virsh: avoid integer overflow (Eric Blake)
- Fix stream procedure number for virDomainMigratePrepareTunnel3 (Daniel P. Berrange)
- Fix release of virNetMessagePtr instances in streams processing (Daniel P. Berrange)
- Fix potential crash when saving guests (Daniel P. Berrange)
- Fix uninitialized value in QEMU monitor FD sending code (Daniel P. Berrange)
- Fix leak of JSON object for events (Daniel P. Berrange)
- Fix use of uninitialized memory when releasing PCI slots (Daniel P. Berrange)
- Fix leak of virStreamPtr object with callback added in fdstream impl (Daniel P. Berrange)
- Fix leak of mdnsGroupName in virNetServer object (Daniel P. Berrange)
- Fix release of filtered stream messages (Daniel P. Berrange)
- save domain status after modifing vcpupin (Wen Congyang)
- Fix memory leak in virDomainVcpuPinDel() (Wen Congyang)
- sysinfo: fix illegal NULL return (Minoru Usui)
- Fix locking wrt virNetClientStreamPtr object (Daniel P. Berrange)
- Avoid referencing NULL pointer when copying stream error (Daniel P. Berrange)
- Avoid free'ing a filtered RPC message in the server (Daniel P. Berrange)
- Ensure empty payload is written upon stream completion (Daniel P. Berrange)
- Fix propagation of RPC errors from streams (Daniel P. Berrange)
- Fix crash when aborting a stream from a I/O callback (Daniel P. Berrange)
- dnsmasq: Fix errno handling and don't unlink non-existing files (Matthias Bolte)
- tests: Fix memory leak in virnetmessagetest (Osier Yang)
- conf: Fix memory leak in virNetworkDNSDefFormat (Osier Yang)
- sysinfo: fix parsing regression (Eric Blake)
- remote: fix uninitialized variable (Eric Blake)
- build: avoid uninitialized variable (Eric Blake)
- buf: protect against integer overflow (Eric Blake)
- remote: protect against integer overflow (Eric Blake)
- Fix typo in libvirt_private.syms (Matthias Bolte)
- Fix some bugs in RPC protocol make rules (Daniel P. Berrange)
- Fix job type set in qemuMigrationPrepareDirect/PrepareTunnel (Daniel P. Berrange)
- Avoid high privileges taint warning for QEMU session driver (Daniel P. Berrange)
- util: Fix memory leak in virJSONParserHandleStartMap (Osier Yang)
- qemu: Fix memory leak in qemuProcessWaitForMonitor (Osier Yang)
- storage: fix volDelete return when volume still being allocated (Matthew Booth)
- Fix use-after-free in handling domain taint flags (Daniel P. Berrange)
- qemu: Fix one memory leak (Osier Yang)
- virsh: avoid bogus description (Eric Blake)
- set and restore MAC address of a NIC when using PASSTHROUGH mode (Dirk Herrendoerfer)
- conf: Fix one memory leak (Osier Yang)
- Add missing checks for NULL in domain lock manager (Daniel P. Berrange)
- Fix errno return in safezero() (Daniel P. Berrange)
- Fix allocation of veth's to not skip an index (Daniel P. Berrange)
- command: avoid double close (Eric Blake)
- qemu: Fix parsing 'info chardev' (Cole Robinson)
- vcpupin: Fix cpu affinity setting bug of qemu driver (Taku Izumi)
- daemon: plug memory leak (Eric Blake)
- qemu: add missing break statement (Eric Blake)
- storage: avoid mishandling backing store > 2GB (Eric Blake)
Improvements:
- tests: Add a general util test (Matthias Bolte)
- util: choose whether to require micro in version strings (Eric Blake)
- build: consistently use CFLAGS (Eric Blake)
- build: simplify sanlock distribution (Eric Blake)
- build: allow 'make syntax-check' on fresh checkout (Eric Blake)
- Send back an error if we get unexpected stream control message (Daniel P. Berrange)
- Add test case for parsing JSON docs (Daniel P. Berrange)
- Remove bogus warning message in JSON code (Daniel P. Berrange)
- Ensure RPC message is cleared before being reused (Daniel P. Berrange)
- Fix hardcoded limit on client requests in RPC code (Daniel P. Berrange)
- tests: Add valgrind.supp into EXTRA_DIST (Osier Yang)
- virsh: Fix a problem of buildPoolXML (Osier Yang)
- lock qemu_driver early in qemuGetSchedulerParametersFlags() (Wen Congyang)
- build: avoid pod2man on tarball (Eric Blake)
- Ensure that EOF is dispatched to the stream callback (Daniel P. Berrange)
- Improve two log messages in virNetMessage (Daniel P. Berrange)
- Lower logging level when failing to register socket watch (Daniel P. Berrange)
- screenshot: Set access rights to temporary file (Michal Privoznik)
- maint: improve makefile whitespace (Eric Blake)
- network: Don't ignore errors in dnsmasq config file creation (Matthias Bolte)
- network: Fix dnsmasq hostsfile creation logic and related tests (Matthias Bolte)
- build: update translated files (Eric Blake)
- Support automatic creation of leases for disks in sanlock (Daniel P. Berrange)
- Support loading a configuration file for sanlock plugin (Daniel P. Berrange)
- Allow per-driver config file for lock manager plugins (Daniel P. Berrange)
- network: add domain to unqualified names defined with <host> (Laine Stump)
- Convert libvirtd over to the new RPC handling APIs (Daniel P. Berrange)
- Convert the remote driver to new RPC client APIs (Daniel P. Berrange)
- Add XDR_CFLAGS to libvirt-net-rpc.la library (Daniel P. Berrange)
- Ensure sanlock socket is labelled with the VM process label (Daniel P. Berrange)
- Add a virSecurityManagerSetProcessFDLabel (Daniel P. Berrange)
- Rename virSecurityManagerSetFDLabel method (Daniel P. Berrange)
- Add node prefix to virNodeGet(CPU|Memory)Stats structs and defines (Matthias Bolte)
- qemu: Fix update device for CURRENT + FORCE flags (Jiri Denemark)
- nwfilter: Return error message about unresolvable variables (Stefan Berger)
- build: rename Vcpupin to VcpuPin (Eric Blake)
- sysinfo: cleanup function/struct names. (Minoru Usui)
- sysinfo: fix lack of error check in virSysinfoFormat(). (Minoru Usui)
- tests: Partly fix networkxml2argvtest being configure result dependent (Matthias Bolte)
- qemu: Remove bogus error codes for NUMA memory tuning (Osier Yang)
- network: fix indentation in networkBuildDnsmasqArgv (Laine Stump)
- vcpupin: add query option to virsh vcpupin command (Taku Izumi)
- vcpuinfo: add the code to fallback to try new API (Taku Izumi)
- vcpupin: implement the remote protocol to address the new API (Taku Izumi)
- vcpupin: implement the code to support new API for the qemu driver (Taku Izumi)
- build: update gnulib for intprops (Eric Blake)
- Rename iface(G|S)etMacaddr to iface(G|S)etMacAddress for consistency (Matthias Bolte)
- Network: Add support for DNS hosts definition to the network XML (Michal Novotny)
- Network: Add additional hosts internal infrastructure (Michal Novotny)
- Network: Add regression tests for the command-line arguments (Michal Novotny)
- Network: modify dnsmasq commandline build function to allow testing (Michal Novotny)
- tests: Improve IPv6 detection for virNetSocket tests (Matthias Bolte)
- Move load of AppArmor profile to GenLabel() (Jamie Strandboge)
- Add Memory Device Information to virSysinfoRead() from dmidecode type 17 (Minoru Usui)
- Add Processor Information to virSysinfoRead() from dmidecode type 4 (Minoru Usui)
- Cleanup virSysinfoRead() (Minoru Usui)
- Make sure virnetprotocol.[ch] are in BUILT_SOURCES (Daniel P. Berrange)
- maint: typo fixes (Eric Blake)
- Add missing translation of error message from QEMU reboot patch (Daniel P. Berrange)
- Allow automatic kill of guests when a connection is closed (Daniel P. Berrange)
- Automatically kill target QEMU if migration aborts abnormally (Daniel P. Berrange)
- Add infrastructure to automatically destroy guests when a connection closes (Daniel P. Berrange)
- Move the RPC generator scripts into src/rpc (Daniel P. Berrange)
- Introduce generic RPC client objects (Daniel P. Berrange)
- Introduce generic RPC module for advertising via MDNS (Daniel P. Berrange)
- Introduce generic RPC server objects (Daniel P. Berrange)
- Integrate TLS/SASL directly into the socket APIs (Daniel P. Berrange)
- Generic module for handling SASL authentication & encryption (Daniel P. Berrange)
- Generic module for handling TLS encryption and x509 certs (Daniel P. Berrange)
- Introduce a generic object for using network sockets (Daniel P. Berrange)
- Provide a simple object for encoding/decoding RPC messages (Daniel P. Berrange)
- Defines the basics of a generic RPC protocol in XDR (Daniel P. Berrange)
- build: update to latest gnulib (Eric Blake)
- python: Generate virStreamFree but don't expose in bindings (Cole Robinson)
- maint: avoid future setgid problems (Eric Blake)
- qemu: Only check for NUMA availability if required (Jiri Denemark)
- util: avoid PATH_MAX-sized array (Eric Blake)
- xen: avoid PATH_MAX-sized array (Eric Blake)
- tests: avoid PATH_MAX-sized array (Eric Blake)
- virStorageVol: avoid PATH_MAX-sized array (Eric Blake)
- cleanup: make several interface functions commonly available (Stefan Berger)
- cleanup: make nlComm commonly available (Stefan Berger)
- maint: remove syntax-check exception (Eric Blake)
- Remove macvtap dependency on domain configuration (Daniel P. Berrange)
- util: Correct the error prompt string (Osier Yang)
- Fix to python API extractor and API doc generation (Daniel Veillard)
- qemu: domain I/O asynchronous handling (Michal Privoznik)
- python: Mark event callback wrappers as private (Cole Robinson)
- python: events: Fix C->Python handle callback prototype (Cole Robinson)
- python: Add bindings for virEvent*Handle/Timeout (Cole Robinson)
- events: Correct virEventAddTimeout docs (Cole Robinson)
- Promote virEvent*Handle/Timeout to public API (Cole Robinson)
- python: Implement virStreamSend/RecvAll helpers (Cole Robinson)
- python: Implement virStreamSend/Recv (Cole Robinson)
- conf: Make full use of goto label (Osier Yang)
- python: Implement bindings for virStreamEventAddCallback (Cole Robinson)
- python: generator: Don't print warning if nothing to warn about (Cole Robinson)
- python: libvirt-override: use simpler debug (Cole Robinson)
- virsh: enhance snapshot-create-as (Eric Blake)
- virsh: add snapshot-create-as command (Eric Blake)
- virsh: clarify snapshot vs. save (Eric Blake)
- Fix compile warnings in virsh vcpupin (Daniel P. Berrange)
- remote generator: Allow to annotate arrays with typecasts (Matthias Bolte)
- remote: Handle functions that return optional strings (Matthias Bolte)
- remote: Generate virDomainGetBlockPullInfo (Matthias Bolte)
- vcpupin: add vcpupin resetting feature to qemu driver (Taku Izumi)
- vcpupin: add virDomainVcpupinDel function (Taku Izumi)
- vcpupin: add reset option to virsh vcpupin command (Taku Izumi)
- vcpupin: improve vcpupin definition of virsh vcpupin (Taku Izumi)
- Fix preprocessor indentation in nodeinfo.c (Matthias Bolte)
- Move XenAPI driver to correct spec file section (Matthias Bolte)
- numatune: Add tests for numatune XML (Osier Yang)
- numatune: Support NUMA memory tuning in qemu driver (Osier Yang)
- numatune: Support persistent XML for numatune (Osier Yang)
- numatune: Define XML schema (Osier Yang)
- Update qemuDomainSetBlkioParameters to use flags (Hu Tao)
- update qemuDomainGetBlkioParameters to use flags (Hu Tao)
- Add new parameters for blkiotune (Hu Tao)
- apparmor: implement AppArmorSetFDLabel() (Jamie Strandboge)
- Add missing error reporting when loading mac filter config for QEMU (Daniel P. Berrange)
- virsh: Add support for virDomainGetControlInfo (Jiri Denemark)
- qemu: Implement virDomainGetControlInfo (Jiri Denemark)
- Wire protocol and remote driver for virDomainGetControlInfo (Jiri Denemark)
- sendkey: use consistent API convention (Eric Blake)
- build: export correct function names (Eric Blake)
- build: avoid compiler warning on non-Linux (Eric Blake)
- remote generator: Handle struct returning functions better (part 2) (Matthias Bolte)
- Fix apibuild.py warnings about missing comment headers (Matthias Bolte)
- remote generator: Handle struct returning functions better (Matthias Bolte)
- support for Xen HVM Viridian (Hyper-V) enlightenment interface (Daniel Gollub)
- virsh: reduce complexity in argv iteration (Eric Blake)
- Add support for network filter code in LXC driver (Daniel P. Berrange)
- qemu: Translate boot config into bootindex if possible (Jiri Denemark)
- spice: add <clipboard copypaste='yes|no'> option (Marc-André Lureau)
- virNodeGetMemoryStats: Implement linux support (Minoru Usui)
- virNodeGetMemoryStats: Implement virsh support (Minoru Usui)
- virNodeGetMemoryStats: Implement remote protocol (Minoru Usui)
- virNodeGetMemoryStats: Implement public API (Minoru Usui)
- virNodeGetMemoryStats: Define internal driver API (Minoru Usui)
- virNodeGetCPUStats: Implement linux support (Minoru Usui)
- virNodeGetCPUStats: Implement virsh support (Minoru Usui)
- virNodeGetCPUStats: Implement remote protocol (Minoru Usui)
- virNodeGetCPUStats: Define internal driver API (Minoru Usui)
- virNodeGetCPUStats: Expose new API (Minoru Usui)
- Fix autostart flag when loading running domains (Michael Chapman)
- send-key: Implementing the remote protocol (Lai Jiangshan)
- send-key: Implementing the public API (Lai Jiangshan)
- send-key: Defining the internal API (Lai Jiangshan)
- remote generator: Handle (unsigned) int arrays (Lai Jiangshan)
- add VSH_OFLAG_REQ_OPT options (Lai Jiangshan)
- allow name for VSH_OT_ARGV options (Lai Jiangshan)
- storage: avoid an intermediate malloc (Eric Blake)
- command: reduce duplicated debug messages (Eric Blake)
- qemu: Scrape stdout for virtio console pty (Cole Robinson)
- virsh: Add daemon version reporting (Michal Privoznik)
- nodeinfo: remove superflous braces (Guido Günther)
- util: Cleanup indention problem in virterror.c (Osier Yang)
- qemu: Parse current balloon value returned by query_balloon (Osier Yang)
- Deprecate several CURRENT/LIVE/CONFIG enums (Hu Tao)
- qemu: Faster response time to qemu startup errors (Stefan Berger)
- build: update to latest gnulib (Eric Blake)
- vcpupin: add the new option to "virsh vcpupin" command (Taku Izumi)
- vcpupin: implement the remote protocol to address the new API (Taku Izumi)
- vcpupin: implement the code to address the new API in the qemu driver (Taku Izumi)
- Use virTimeMs when appropriate (Jiri Denemark)
- Introduce virTimeMs for getting current time in ms (Jiri Denemark)
- test: Remove unused timeval (Jiri Denemark)
- tests: add a test for multi function PCI device (Wen Congyang)
- the hotplugged PCI device should use the whole slot (Wen Congyang)
- assign the whole slot to the PCI device that has no address (Wen Congyang)
- Reimplement qemuDomainPCIAddressReserveSlot(): reserve all functions in the slot (Wen Congyang)
- the key of hash table should include the function value (Wen Congyang)
- prevent hot unplugging multi function PCI device (Wen Congyang)
- check whether qemu supports multi function PCI device (Wen Congyang)
- xenapi: Improve error message on session failure (Matthew Booth)
- qemu: Fix one type in the error prompt string (Osier Yang)
- Move VMware Workstation/Player driver to correct spec file section (Matthias Bolte)
- esx: avoid dead code (Eric Blake)
- qemu: reorder checks for safety (Eric Blake)
- uuid: annotate non-null requirements (Eric Blake)
- debug: avoid null dereference on uuid lookup api (Eric Blake)
- python: avoid unlikely sign extension bug (Eric Blake)
- build: detect Coverity 5.3.0 (Eric Blake)
- build: Fix typos in configure.ac (Osier Yang)
- virsh: Expose virDomainMigrateSetMaxSpeed API to virsh (Osier Yang)
- lxc: Ensure container <init> actually exists (Cole Robinson)
- lxc: Verify root fs exists before mounting (Cole Robinson)
- lxc: controller: Improve container error reporting (Cole Robinson)
- lxc: Improve guest startup error reporting (Cole Robinson)
- lxc: Refactor controller command building (Cole Robinson)
- lxc: Don't report error in Wait/SendContinue (Cole Robinson)
- lxc: Drop container stdio as late as possible (Cole Robinson)
- util: Implement virRun as a wrapper around virCommand (Cole Robinson)
- qemu: Convert virExec usage to virCommand (Cole Robinson)
- Use VIR_USE_CPU instead of new wheel (Osier Yang)
- Avoid virGetVersion failure on specific driver support configurations (Matthias Bolte)
Cleanups
- cgroup: silence coverity warning (Eric Blake)
- rpc: silence coverity warning (Eric Blake)
- qemu: silence coverity warnings (Eric Blake)
- build: avoid 'make syntax-check' failure (Eric Blake)
- build: remove dead variables (Eric Blake)
- Remove bogus jsondata.h file reference which does not exist (Daniel P. Berrange)
- build: ignore generated file (Eric Blake)
- build: Don't expect translatable strings in a dead file (Jiri Denemark)
- Cleanup remote protocol definitions (Daniel P. Berrange)
- Remove obsolete libvirtd mdns code (Daniel P. Berrange)
- build: avoid long line tests (Eric Blake)
- maint: add omitted copyright header (Eric Blake)
- build: break some long lines (Eric Blake)
- build: silence coverity false positives (Eric Blake)
- secret: drop dead code (Eric Blake)
- build: silence coverity false positive (Eric Blake)
- Move virRun, virExec*, virFork to util/command (Cole Robinson)
- util: Remove unused virExec wrapper (Cole Robinson)
- esx: Remove duplicated invalid-argument checks (Matthias Bolte)
Thanks everybody for your help with this release, be it by submitting
documentations, ideas, patches, etc ... !
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/
1
0
30 Jun '11
So we are entering the week freeze for the new version 0.9.3
I have made an rc1 tarball available at:
ftp://libvirt.org/libvirt/libvirt-0.9.3-rc1.tar.gz
along with rpms for those interested
We pushed a lot of patches in the last few days, we know there is at
least some cleanup issues, but I tried it locally and basic operations
seems to work fine,
please give it a try too and report issues,
thanks !
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/
1
1
06 Jun '11
As planned the new release is available at:
ftp://libvirt.org/libvirt/
It is a rather large release with near 400 commits included. From
an user point of view the main improvement is likely to be when
using migration as various work has been done to extend the protocol
and to avoid having the migration command stop other concurrent
operations (like virsh list). See below for a number of new features,
improvement and bug fixes:
Features:
- Framework for lock manager plugins (Daniel P. Berrange)
- API for network config change transactions (Michal Privoznik)
- flags for setting memory parameters (Hu Tao)
- virDomainGetState public API (Jiri Denemark)
- qemu: allow blkstat/blkinfo calls during migration (Federico Simoncelli)
- Introduce migration v3 API (Daniel P. Berrange)
- Defining the Screenshot public API (Michal Privoznik)
- public API for NMI injection (Lai Jiangshan)
Documentation:
- esx: Fix driver method version annotations (Matthias Bolte)
- vbox: Fix typo in error message (Matthias Bolte)
- virsh: Document nodeinfo output (Jiri Denemark)
- Correct 'cputune' documentation example. (Neil Wilson)
- document iface-* commands (Eric Blake)
- Add initial docs about the lock managers (Daniel P. Berrange)
- maint: use consistent file name for threading notes (Eric Blake)
- Fix virTypedParameter alias comments (Matthias Bolte)
- Fix error syntax of vcpupin example XML (Osier Yang)
- Automatically generate the hvsupport.html.in file from source files (Daniel P. Berrange)
- Fix documentation for cputune parameters (Osier Yang)
- avoid double 'the' (Eric Blake)
- Add documentation about test suites (Daniel Veillard)
- updates to CA cert and client cert/key info (Doug Goldstein)
- node filesystem attr is 'accessmode', not 'mode' (Cole Robinson)
Portability:
- vbox: Fix version extraction on Windows for newer VirtualBox versions (Matthias Bolte)
- Make dlopen usage in lock manager conditional (Matthias Bolte)
- build: fix VPATH build break from previous patch (Eric Blake)
- Remove call to deprecated gnutls_certificate_type_set_priority (Daniel P. Berrange)
- Fix sysinfo/virsh build problems on Win32 (Daniel P. Berrange)
- Fix build with --with-driver-modules enabled (Matthias Bolte)
- build: fix 'make dist' for ./configure --without-remote (Eric Blake)
- virsh: time_t is not a long on FreeBSD (Matthias Bolte)
- time_t is not a long on FreeBSD, switch internal type to long long (Matthias Bolte)
- build: avoid strerror_r pitfalls (Eric Blake)
- build: fix VIR_DEBUG on mingw (Eric Blake)
- build: generate files when building without libvirtd (Wen Congyang)
- build: drop unused sys/syslimits.h header (Eric Blake)
- Fix prototype of virRun for Win32 targets (Daniel P. Berrange)
- build: tolerate unlimited group size (Eric Blake)
- Disable virCommandExec on Win32 (Daniel P. Berrange)
- command: Fix compilation on FreeBSD (Matthias Bolte)
- apparmor: Fix compilation by removing remains from virCommand conversion (Matthias Bolte)
- configure: Fix mpath check on non-Linux systems (Matthias Bolte)
- fix xdr detection and use with recent glibc (Christophe Fergeau)
- build: avoid gcc preprocessor extensions (Eric Blake)
- build: fix VPATH build with distributed generated files (Eric Blake)
- build: fix VPATH builds (Eric Blake)
Bug fixes:
- Fix QEMU p2p v2 migration when run from a v3 client (Daniel P. Berrange)
- Don't raise an error if the migration cookie is NULL (Daniel P. Berrange)
- Fix check of virKillProcess return status (Daniel P. Berrange)
- qemu: Avoid use after free in qemuCaps parsing (Jiri Denemark)
- security driver: ignore EINVAL when chowning an image file (Laine Stump)
- migrate: detect xml incompatibility (Eric Blake)
- event: avoid memory leak on cleanup (Eric Blake)
- qemu: avoid memory leak on vcpupin (Eric Blake)
- remote: avoid leak on failure (Eric Blake)
- lock: avoid leak on failure (Eric Blake)
- storage: avoid memory leak on stat failure (Eric Blake)
- storage: avoid memory leak (Eric Blake)
- libvirtd: avoid leak on failure (Eric Blake)
- command: avoid leak on failure (Eric Blake)
- Explicitly set VM state to paused after migration completes (Daniel P. Berrange)
- Fix regressions BlockStats/Info APIs in QEMU driver (Daniel P. Berrange)
- Fix minor issues in libxenlight managed save (Jim Fehlig)
- Fix auditing of disk hotunplug operations (Daniel P. Berrange)
- Avoid crash on NULL pointer in lock driver impls during hotplug (Daniel P. Berrange)
- Fix return value in lock manager hotplug methods (Daniel P. Berrange)
- Make sure virDomainSave/virDomainManagedSave reset id to -1 (Daniel P. Berrange)
- Fix handling of VIR_EVENT_HANDLE_ERROR in QEMU monitor (Daniel P. Berrange)
- security: plug regression introduced in disk probe logic (Eric Blake)
- Fix order of disks and controllers (Jiri Denemark)
- util: Fix incorrect error in PCI functions (Osier Yang)
- openvz: Restore original EOF handling in openvzGetProcessInfo (Matthias Bolte)
- openvz: Handle getline failures in openvzReadConfigParam properly (Matthias Bolte)
- conf: Fix incorrect spice graphic XML format on compression options (Michal Privoznik)
- nwfilter: reorder locks (Stefan Berger)
- openvz: Fix regression in openvzGetVPSUUID (Matthias Bolte)
- esx: Fix regression in absolute file name handling (Matthias Bolte)
- openvz: Fix regression in config file parsing (Taisuke Yamada)
- audit: fix minor off-by-one (Eric Blake)
- Fix libxl vm def handling on domU cleanup (Markus Groß)
- Fix modifying disk devices in qemu driver (Markus Groß)
- json: Avoid passing large positive 64 bit integers to QMP. (Richard W.M. Jones)
- Fix initialization of current vcpus in libxl driver (Jim Fehlig)
- qemu: Don't change ownership of file when appending to it (Michal Privoznik)
- qemu: fix typo in name - should be VHOST_NET, not VNET_HOST (Laine Stump)
- Fix QEMU -vnc arg generation with raw IPv6 addresses (Daniel P. Berrange)
- Fix peer2peer migration with transient VMs (Daniel P. Berrange)
- python: Don't free must-not-free variables (Michal Privoznik)
- python: Fix typo in bindings (Michal Privoznik)
- libvirt.spec: /var/cache/libvirt should be 0711. (Richard W.M. Jones)
- remote: remove bogus virDomainFree. (Richard W.M. Jones)
- qemudDomainMemoryPeek: change ownership/selinux label on temporary file. (Richard W.M. Jones)
- Fix QEMU migration cookie crash for guests with no graphics (Daniel P. Berrange)
- Blank out the 'listenAddr' parameter if empty string (Daniel P. Berrange)
- Improve invalid argument checks for the public API (Matthias Bolte)
- qemu: fix typo in spice migration code (Michal Privoznik)
- openvz: fix logic bug in previous patch (Eric Blake)
- Fix error reporting in stream creation code (Matthias Bolte)
- virsh: Correctly initialize libvirt (Jiri Denemark)
- Fix leak of mime type string in screenshot dispatcher (Daniel P. Berrange)
- Fix remote dispatcher for screenshot command (Daniel P. Berrange)
- Add missing initialization to 'ret' in qemu migration (Daniel P. Berrange)
- Close all sockets before cancelling QEMU migration (Daniel P. Berrange)
- Ensure we always read a full buffer in tunnelled migration (Daniel P. Berrange)
- phyp: avoid a crash (Eric Blake)
- stream: avoid use-after-free (Eric Blake)
- virsh: Fix uninitialized variable warning (Matthias Bolte)
- libxl: fix typos in previous patch (Eric Blake)
- node_device: avoid null dereference on error (Eric Blake)
- tests: avoid crash when run under gcov (Eric Blake)
- Fix two uninitialized variable warnings (Matthias Bolte)
- apparmor: Fix uninitalized variable warning in virt-aa-helper (Matthias Bolte)
- Fix qemuMigrationToFile nonull annotation (Daniel P. Berrange)
Improvements:
- API: consolidate common unreleased enums (Eric Blake)
- uml: correct command line networking parameters (Heath Petersen)
- Add call to sanlock_restrict() in QEMU lock driver (Daniel P. Berrange)
- screenshot: Expose the new API in virsh (Michal Privoznik)
- libxl: adds managed save and restore support (Markus Groß)
- libxl: get maximum memory of running domain (Markus Groß)
- Add a plugin for the 'sanlock' project (Daniel P. Berrange)
- Allow leases to be hotpluged with QEMU guests (Daniel P. Berrange)
- Support passing QEMU lock state to dest during migration (Daniel P. Berrange)
- Integrate the QEMU driver with the lock manager infrastructure (Daniel P. Berrange)
- Add higher level lock API for domain objects (Daniel P. Berrange)
- Add a 'nop' lock driver implementation. (Daniel P. Berrange)
- Support leases in guest XML and lock manager (Daniel P. Berrange)
- Allow handshake with child process during startup (Daniel P. Berrange)
- tests: really fix QEMU XML-2-ARGV graphics-spice-timeout test (Eric Blake)
- build: avoid corrupting / in RHEL 5 (Eric Blake)
- tests: Add a test for correct disk device ordering (Jiri Denemark)
- Fix QEMU XML-2-ARGV graphics-spice-timeout test (Matthias Bolte)
- remote generator: Handle some virTypedParameterPtr using functions (Matthias Bolte)
- apibuild: Restrict long usage to existing functions and structs (Matthias Bolte)
- remote generator: Legacy support for hyper to long mappings (Matthias Bolte)
- Use common parameter order for remote(De)SerializeTypedParameters (Matthias Bolte)
- openvz: Add simple test for openvzReadNetworkConf (Matthias Bolte)
- openvz: Set virtType to openvz in openvzLoadDomains (Matthias Bolte)
- storage: List directory volumes for dir/fs/netfs pools (Cole Robinson)
- tests: Add more complex domain scheme test data (Michal Privoznik)
- tests: Test for SPICE compression options (Michal Privoznik)
- Ignore backward compatibility macros in apibuild.py (Matthias Bolte)
- openvz: fix bridge devices parsing in openvzReadNetworkConf() (Jean-Baptiste Rouault)
- Allow custom XML to be passed in during migration (Daniel P. Berrange)
- Allow virsh to pass in a custom XML document for migration (Daniel P. Berrange)
- Add an API for comparing the ABI of two guest configurations (Daniel P. Berrange)
- Remove unused 'target' field in virDomainHostdevDef (Daniel P. Berrange)
- lxc: Seperate domain config loading (Osier Yang)
- openvz: Automatically disable on non-Linux systems (Matthias Bolte)
- Support maximum and current memory flags in libxl driver (Markus Groß)
- Add domainSave/Restore to libxl driver (Markus Groß)
- Add domainCoreDump to libxl driver (Markus Groß)
- Populate domid field of devices for libxenlight (Markus Groß)
- Issue full error messages when processing QEMU monitor I/O (Daniel P. Berrange)
- Don't kill QEMU process when a monitor I/O parsing error occurs (Daniel P. Berrange)
- Introduce a new event emitted when a virtualization failure occurs (Daniel P. Berrange)
- sched: provide new API shims for remaining drivers (Eric Blake)
- virsh: improve schedinfo querying ability (Eric Blake)
- remote: introduce remoteGetSchedulerParametersFlags (Eric Blake)
- qemu: introduce qemuGetSchedulerParametersFlags (Eric Blake)
- sched: introduce virDomainGetSchedulerParametersFlags (Eric Blake)
- remote: consolidate typed parameter handling (Eric Blake)
- maint: prefer newer API names internally (Eric Blake)
- libvirt.h: avoid regression, and document preferred name (Eric Blake)
- Fix virExecWithHook Prototype (Richard Laager)
- interface: reformat error logs (Laine Stump)
- interface: implement a test driver for network config transaction API. (Michal Privoznik)
- interface: Implement driver methods for network config transaction API (Michal Privoznik)
- interface: expose network config transaction API to virsh (Michal Privoznik)
- interface: implement remote protocol for network config transaction API (Michal Privoznik)
- interface: implement public APIs for libvirt transactional network changes (Michal Privoznik)
- interface: define internal driver API for network config transactions (Michal Privoznik)
- sexpr: Improve serialization error reporting (Matthias Bolte)
- qemu: implement the new flags for setting memory parameters (Hu Tao)
- qemu: implement the new flags for getting memory parameters (Hu Tao)
- qemu : support persistent add/delete network interface (KAMEZAWA Hiroyuki)
- openvz: Add simple testcase for config file parsing function (Matthias Bolte)
- Add disk attach/detach support to libxl driver (Markus Groß)
- Refactored libxl datastructure instantiation (Markus Groß)
- schema: Add graphics element passwdValidTo attribute to schema (Michal Privoznik)
- Fix sign mismatches between public API, driver API and XDR protocol (Matthias Bolte)
- remote generator: Fix XDR sign mismatch for virNodeGet(Cells)FreeMemory (Matthias Bolte)
- remote generator: Handle stream-using functions (Matthias Bolte)
- remote generator: Make call-by-reference handling stricter (Matthias Bolte)
- remote generator: Rename virNodeGetCellsFreeMemory parameters to common pattern (Matthias Bolte)
- remote generator: Handle virDomainCreateWithFlags (Matthias Bolte)
- Allow to explicitly disable the secrets a directory storage driver (Matthias Bolte)
- Fix the signature of virDomainMigrateFinish3 for error reporting (Daniel P. Berrange)
- Fix preservation of errors across migration steps (Daniel P. Berrange)
- Improve debug logging of migration APIs (Daniel P. Berrange)
- Fix error propagation in finish method for v3 migration (Daniel P. Berrange)
- Fix SPICE seamless migration hostname (Daniel P. Berrange)
- Fix resume on destination when doing non-live tunnelled migration (Daniel P. Berrange)
- Introduce two method migration APIs (Daniel P. Berrange)
- Add a second URI parameter to virDomainMigratePerform3 method (Daniel P. Berrange)
- Extend v3 migration protocol to allow app supplied XML for target (Daniel P. Berrange)
- esx: Report an error when auth pointer is missing instead of declining (Matthias Bolte)
- Perform feature flag compat checking in QEMU migration cookies (Daniel P. Berrange)
- Replace all remaining setgid/setuid calls with virSetUIDGID (Jiri Denemark)
- util: Keep errno set to the root error after when returning from virSetUIDGID (Jiri Denemark)
- storage: Add comment to picking return value of qemu-img (Michal Privoznik)
- spice: support streaming-video parameter (Alon Levy)
- nwfilter: enable filtering of gratuitous ARP packets (Stefan Berger)
- qemu: don't require is_kvm for vhost-net support (Laine Stump)
- Use per-user TLS certificates when possible (Doug Goldstein)
- storage: pick return value of qemu-img (Michal Privoznik)
- remote generator: Add special case for virConnectGetType (Matthias Bolte)
- remote generator: Don't rely on $_ being stable over a large function (Matthias Bolte)
- build: require newer gettext (Eric Blake)
- virsh: Use Env variables for debug level and logfile (Supriya Kannery)
- Don't generate cookies with v2 migration protocol. (Daniel P. Berrange)
- Ensure p2p and direct migration use the new v3 protocol if available (Daniel P. Berrange)
- remote: remove special case for getting version (Eric Blake)
- virsh: optimize creation of default connection (Eric Blake)
- Clarify that virDomainGet(Memory|Blkio)Parameters doesn't support subsets (Matthias Bolte)
- Clarify that virDomainSet(Memory|Blkio)Parameters can take parameter subsets (Matthias Bolte)
- Clarify that virDomainSetSchedulerParameters(Flags) can take subsets (Matthias Bolte)
- Clarify the semantic of virDomainGetSchedulerParameters arguments (Matthias Bolte)
- Clarify semantic of nparams argument of virDomainGetSchedulerType (Matthias Bolte)
- Fix messages using VIR_ERR_XML_ERROR (Cole Robinson)
- libvirt.h: consolidate typed parameter handling (Eric Blake)
- build: update to latest gnulib (Eric Blake)
- Add support for 'passthru' mode for direct network interfaces (Dirk Herrendorefer)
- virsh: add parameters --live, --config and --current to cmd schedinfo (Hu Tao)
- remote: introduce remoteSetSchedulerParametersFlags (Hu Tao)
- qemu: introduce qemuSetSchedulerParametersFlags (Hu Tao)
- sched: adjust parameter values to make current = 0 (Eric Blake)
- introduce virDomainSetSchedulerParametersFlags (Hu Tao)
- storage_backend: Convert virRunWithHook usage to virCommand (Cole Robinson)
- storage_backend: Fix error reporting with regex helper (Cole Robinson)
- storage: Covert regex helpers to virCommand (Cole Robinson)
- openvz: Convert virExec usage to virCommand (Cole Robinson)
- storage: iscsi: Convert virExec to virCommand (Cole Robinson)
- remote generator, client: Add more special case handling (Matthias Bolte)
- remote generator, client: Handle functions that return an optional string (Matthias Bolte)
- esx: Simplify some esxVI_Boolean to bool (Matthias Bolte)
- esx: Convert autoAnswer from esxVI_Boolean to a simple bool (Matthias Bolte)
- esx: Fix race condition in esxVI_EnsureSession (Matthias Bolte)
- esx: Whitespace cleanup in the generator (Matthias Bolte)
- esx: Change some alignments in the input file (Matthias Bolte)
- esx: Change generated method parameter autobinding (Matthias Bolte)
- virsh: Report an error when virGetUserDirectory fails (Matthias Bolte)
- maint: mark more perl scripts executable (Eric Blake)
- maint: mark perl script executable (Eric Blake)
- maint: ignore generated file (Eric Blake)
- Improve error message when XDR marshalling fails (Daniel P. Berrange)
- Run tunnelled migration IO in separate thread (Daniel P. Berrange)
- Don't overwrite error when stream send fails (Daniel P. Berrange)
- Make tunnelled migration honour resource restriction (Daniel P. Berrange)
- Refactor migration completion loop to allow code reuse (Daniel P. Berrange)
- Implement migration v3 protocol in QEMU driver (Daniel P. Berrange)
- Merge tunnel and non-tunnel migration impl into one (Daniel P. Berrange)
- Fix VM teardown if prepare returns invalid URI in v2 migration (Daniel P. Berrange)
- Refactor tunnelled migration methods (Daniel P. Berrange)
- Wire up SPICE client relocation with QEMU migration (Daniel P. Berrange)
- Pass graphics setup from dst back to src via migration cookies (Daniel P. Berrange)
- Introduce migration cookies to QEMU driver (Daniel P. Berrange)
- Fix locking with qemuMigrationPrepareTunnel method (Daniel P. Berrange)
- Remote driver implementation of new migration API (Daniel P. Berrange)
- Add many version number annotations to drivers (Daniel P. Berrange)
- Convert all driver struct intializers to C99 style (Daniel P. Berrange)
- Tweak driver naming for consistency with public API (Daniel P. Berrange)
- qemu: Update domain state when reconnecting monitor (Jiri Denemark)
- Implement domain state reason (Jiri Denemark)
- Implement basic virDomainGetState in all drivers (Jiri Denemark)
- virsh: Prefer virDomainGetState over virDomainGetInfo (Jiri Denemark)
- Wire protocol format and remote driver for virDomainGetState (Jiri Denemark)
- virDomainGetState public API implementation (Jiri Denemark)
- Internal driver API for virDomainGetState (Jiri Denemark)
- esx: Refactor common code in the generator (Matthias Bolte)
- esx: Improve dynamic cast detection in the generator (Matthias Bolte)
- esx: Improve list usage detection in the generator (Matthias Bolte)
- esx: Remove 1000 lines of generated but unused code (Matthias Bolte)
- esx: Generate implicit _this macros (Matthias Bolte)
- esx: Move the Event type from the VI generator to manually written code (Matthias Bolte)
- test: all test_scripts should be part of tarball when building without libvirtd (Wen Congyang)
- build: probes.d and libvirtd.stp should be part of tarball (Wen Congyang)
- remote: Convert SSH tunnel to virCommand (Cole Robinson)
- storage: Convert qemu-img -help parsing to virCommand (Cole Robinson)
- apparmor: Convert virExec usage to virCommand (Cole Robinson)
- util: Combine __virExec and virExecWithHook (Cole Robinson)
- remote_driver: Convert virExecDaemonize usage to virCommand (Cole Robinson)
- remote: Use virDomainEventState helpers (Cole Robinson)
- libxl: Convert to virDomainEventState (Cole Robinson)
- test: Use virDomainEventState helpers (Cole Robinson)
- lxc: Use virDomainEventState helpers (Cole Robinson)
- qemu: Use virDomainEventState helpers (Cole Robinson)
- domain_event: Add common domain event queue/flush helpers (Cole Robinson)
- domain_event: Add virDomainEventState structure (Cole Robinson)
- xml: Use virXMLParse* helpers everywhere (Cole Robinson)
- domain: Require init node for container guests (Cole Robinson)
- xml: Make sure virXpathNodeSet always sets an error (Cole Robinson)
- vbox: Implement the Screenshot driver methods (Michal Privoznik)
- qemu: Implement the Screenshot driver methods (Michal Privoznik)
- virFDStream: Add option for delete file after it's opening (Michal Privoznik)
- Implementing the Screenshot remote protocol (Michal Privoznik)
- Implementing the Screenshot public API (Michal Privoznik)
- Defining the Screenshot internal API (Michal Privoznik)
- remote generator: Add skipgen/autogen flags to .x files (Matthias Bolte)
- nwfilter: drop unused flag argument (Eric Blake)
- maint: omit translation for all VIR_INFO (Eric Blake)
- build: wrap macro body in one-shot do-while loop (Eric Blake)
- build: drop need for VIR_DOMAIN_DEBUG0() (Eric Blake)
- libvirt,logging: cleanup VIR_XXX0() (Lai Jiangshan)
- maint: avoid a couple of gnulib regressions (Eric Blake)
- build: remove some dead assignments (Eric Blake)
- Allow destroying QEMU VM even if a job is active (Daniel P. Berrange)
- Add support for YAJL version 2 API/ABI (Daniel P. Berrange)
- libxl: support enabling the HPET (Paolo Bonzini)
- libxl: support enabling the HPET (Paolo Bonzini)
- xen: parse and generate hpet item in sxpr (Paolo Bonzini)
- virsh: flexibility in CA cert and user cert/key (Doug Goldstein)
- remote generator: Make parsing stricter (Matthias Bolte)
- remote generator: Unify unsigned int notation in .x files (Matthias Bolte)
- remote generator: Fix comment ignoring regex (Matthias Bolte)
- Rename internal DumpXML functions to GetXMLDesc (Matthias Bolte)
- qemu,inject-nmi: Implement the driver methods (Lai Jiangshan)
- inject-nmi: Expose the new API in virsh (Lai Jiangshan)
- inject-nmi: Implementing the remote protocol (Lai Jiangshan)
- inject-nmi: Implementing the public API (Lai Jiangshan)
- inject-nmi: Defining the internal API (Lai Jiangshan)
- lxc: container: Build init cmd before we close stdout (Cole Robinson)
- lxc: container: Convert init node exec to virCommand (Cole Robinson)
- command: Add virCommandExec helper (Cole Robinson)
- lxc: driver: Improve logging when launching emulator (Cole Robinson)
- lxc: driver: Convert emulator launching to virCommand (Cole Robinson)
- command: Add virCommandEnvAddFormat (Cole Robinson)
- build: translate generated strings (Eric Blake)
- Pull in gnulib fnmatch module (Daniel P. Berrange)
- json: Fix *GetBoolean functions (Jiri Denemark)
- build: rebuild generated files after rpcgen_fix.pl tweak (Eric Blake)
- Re-add libvirt.spec to tarball to allwo "make rpm" (Daniel Veillard)
- build: Remove all generated RPC files from GIT (Daniel P. Berrange)
- build: refactor generated RPC files (Daniel P. Berrange)
- build: rename generated files to .h, for automake's sake (Eric Blake)
- remote generator, client: Handle arguments with limited length (Matthias Bolte)
- remote generator, client: Handle functions that return lists (Matthias Bolte)
- remote: Refactor remote*Open and remote*Close functions (Matthias Bolte)
- remote generator, client: Handle functions with optional return values (Matthias Bolte)
- remote generator, client: Handle functions with multiple return values (Matthias Bolte)
- remote generator, client: Handle functions with wrapped return values (Matthias Bolte)
- remote generator, client: Handle functions with simple return values (Matthias Bolte)
- remote generator, client: Handle simple remote driver functions (Matthias Bolte)
- remote generator: Reorder into prepare and print section (Matthias Bolte)
- remote generator, daemon: Handle functions with multiple return values (Matthias Bolte)
- remote generator, daemon: Combine multiple ifs in the generated code (Matthias Bolte)
- remote generator, daemon: Handle the CPU functions (Matthias Bolte)
- remote generator: Refactor duplicate code (Matthias Bolte)
- remote generator, daemon: Handle functions that return lists (Matthias Bolte)
- remote: Rename 'nameslen' to the common 'maxnames' (Matthias Bolte)
- remote generator, daemon: Handle functions with optional arguments (Matthias Bolte)
- remote generator, daemon: Handle more functions (Matthias Bolte)
- remote generator, daemon: Handle simple-return-value functions (Matthias Bolte)
- remote generator, daemon: Change capitalization of some words (Matthias Bolte)
- remote: Replace 'domain' with 'dom' in the XDR protocol (Matthias Bolte)
- remote generator, daemon: Output function bodies too (Matthias Bolte)
- remote generator: Replace tabs with spaces and rename file (Matthias Bolte)
- Balloon dom0 in libxl driver (Markus Groß)
- remote: check actual access to the cert (Doug Goldstein)
- maint: avoid comparisons to bool constants (Eric Blake)
- Add warning message to XML definition files stored on disk (Michal Privoznik)
- Fix security driver handling of FIFOs with QEMU (Daniel P. Berrange)
- Make taint warnings also go into the domain logfile (Daniel P. Berrange)
- Add a qemuDomainAppendLog method for writing to the domain logfile (Daniel P. Berrange)
- Move qemuProcessLogReadFD and qemuProcessLogFD methods (Daniel P. Berrange)
- Log taint warnings in QEMU driver (Daniel P. Berrange)
- Add field to virDomainObjPtr to track "tainting" (Daniel P. Berrange)
- virsh: improve TLS certificate error messages (Doug Goldstein)
- virsh: use new method for easier log to file (Eric Blake)
- buf: add virBufferVasprintf (Eric Blake)
- maint: rename virBufferVSprintf to virBufferAsprintf (Eric Blake)
- Make QEMU migration use cached qemu capabilities data (Daniel P. Berrange)
- Make QEMU hotplug use cached qemu capabilities data (Daniel P. Berrange)
- Persist qemu capabilities in the domain status file (Daniel P. Berrange)
Cleanups:
- build: silence coverity false positive (Eric Blake)
- build: silence coverity false positive (Eric Blake)
- .gitignore: Exempt a new test binary. (Eric Blake)
- Ensure hvsupport.html.in is built before HTML validation (Daniel P. Berrange)
- Fix a make check error (Daniel Veillard)
- Add sexpr.c to the list of file with translatable messages (Matthias Bolte)
- don't check flags in virDomainSetSchedulerParametersFlags (Hu Tao)
- build: silence clang false positive (Eric Blake)
- Remove obsolete remoteDispatchOOMError method (Daniel P. Berrange)
- remote: keep 'make check' happy (Eric Blake)
- build: avoid compiler warning during configure (Wen Congyang)
- Remove bogus assert() from migration code (Daniel P. Berrange)
- build: drop files generated by config.status from tarball (Eric Blake)
Thanks everybody for contributing to the release, with documentation,
ideas, feedback or patches !
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/
1
0