It's out ! Tagged and signed in git as well as tarball and rpms
are available from the usual place:
ftp://libvirt.org/libvirt/
I also made a release for the python bindings available from
ftp://libvirt.org/libvirt/python/
This is a rather large release (surprizingly for August !) with a lot
of refactoring, new APIs and a large set of bug fixes (seems there is a
new and more stringent Coverity release :-) . No lack of improvement
patches either so a rather balanced release:
Features:
- blockcopy: virDomainBlockCopy with XML destination, typed params (Eric Blake)
- lib: Introduce API for retrieving bulk domain stats (Peter Krempa)
- Introduce virDomainOpenGraphicsFD API (Ján Tomko)
- storage: ZFS support (Roman Bogorodskiy)
Documentation:
- fix bootmenu timeout description (Martin Kletzander)
- conf: add support for bootmenu timeout (Martin Kletzander)
- maint: fix comment typo (Eric Blake)
- formatdomain: Reformat vCPU description (John Ferlan)
- virsh: Fix help info for freepages (Li Yang)
- virsh: man: Add LXC format info for domxml-from/to-native (Li Yang)
- virsh: Fix comment for net-undefine (Li Yang)
- man: virsh: add missing auto-converge option for 'migrate' (Pradipta Kr.
Banerjee)
- nwfilter: add missing dscp attribute (Jianwei Hu)
- virsh: man: Crosslink "desc" and "metadata" sections (Peter Krempa)
- man: virsh: Add 'vcpu_period' and 'vcpu_quota' support info for LXC (Li
Yang)
- man: virsh: Add man page for "virsh metadata" (Peter Krempa)
- fix missing forward slash (Jianwei Hu)
- use correct hints per bus type in <disk> examples (Eric Blake)
- use unique dev names in <disk> examples (Eric Blake)
- virsh: clean up attach-interface paragraph in man page (Laine Stump)
- audit: Fix some comments (Wang Rui)
Portability:
- spec: drop anything older than Fedora 13 (Eric Blake)
- fix mingw build (Pavel Hrdina)
- build: fix mingw build with virCommandReorderFDs (Martin Kletzander)
- build: force configure failed when perl is missing (Jincheng Miao)
- Include param.h in case of HAVE_BSD_CPU_AFFINITY (Guido Günther)
Bug Fixes:
- blockcopy: allow larger buf-size (Eric Blake)
- selinux: properly label tap FDs with imagelabel (Martin Kletzander)
- Fix connection to already running session libvirtd (Christophe Fergeau)
- storage: zfs: fix double listing of new volumes (Roman Bogorodskiy)
- qemu_driver: Resolve Coverity FORWARD_NULL (John Ferlan)
- virnetserverservice: Resolve Coverity ARRAY_VS_SINGLETON (John Ferlan)
- libxl_migration: Resolve Coverity NULL_RETURNS (John Ferlan)
- qemu_command: Resolve Coverity DEADCODE (John Ferlan)
- qemu_driver: Resolve Coverity DEADCODE (John Ferlan)
- domain_conf: Resolve Coverity DEADCODE (John Ferlan)
- qemu_monitor: Resolve Coverity NESTING_INDENT_MISMATCH (John Ferlan)
- storage_conf: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- qemu_driver: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- phyp_driver: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- libxl_migration: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- bridge_driver: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- virsh-network: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- network_conf: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- qemu_capabilities: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- libxl_domain: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- qemu_agent: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- qemu_command: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- cpu_x86: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- domain_conf: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- daemon: Resolve Coverity NEGATIVE_RETURNS (John Ferlan)
- qemu_capabilities: Resolve Coverity RESOURCE_LEAK (Wang Rui)
- tests: Resolve Coverity RESOURCE_LEAK (Wang Rui)
- util: Resolve Coverity RESOURCE_LEAK (Wang Rui)
- virsh: fix keepalive error msg (Erik Skultety)
- qemu_capabilities: Resolve Coverity NULL_RETURNS (John Ferlan)
- qemu_driver: Resolve Coverity CONSTANT_EXPRESSION_RESULT (John Ferlan)
- domain_conf: Resolve Coverity REVERSE_INULL (John Ferlan)
- qemu_command: Resolve Coverity REVERSE_INULL (John Ferlan)
- domain_conf: Resolve Coverity REVERSE_INULL (John Ferlan)
- storage_driver: Resolve Coverity REVERSE_INULL (John Ferlan)
- xen_xm: Resolve Coverity USE_AFTER_FREE (John Ferlan)
- xen_common: Resolve Coverity USE_AFTER_FREE (John Ferlan)
- parallels: Resolve Coverity USE_AFTER_FREE (John Ferlan)
- conf: fix leak with def->mem.hugepages (Martin Kletzander)
- qemu: call endjob in RevertToSnapshot (Jincheng Miao)
- virsh: Initialize vshData in cmdMigrate (Ján Tomko)
- libxl: fix memory corruption introduced by commit b55cc5f4e (Jim Fehlig)
- iotune: setting an invalid value now reports error (Erik Skultety)
- xenconfig: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- virnetsocket: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- commandtest: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- numatune: setting --mode does not work well (Erik Skultety)
- qemu: min_guarantee: Parameter 'min_guarantee' not supported (Erik Skultety)
- Parallels: fix error with video card RAM dimension (Alexander Burluka)
- util: compare floor attribute in virNetDevBandwidthEqual (Martin Kletzander)
- conf: net: Correctly switch how to format address fields (Peter Krempa)
- Perform disk config validity checking for attach-device config (John Ferlan)
- nodeCapsInitNUMA: Avoid @cpumap leak (Michal Privoznik)
- qemu: Issue rtc-reset-reinjection command after guest-set-time (Michal Privoznik)
- qemu: forbid negative blkio values (Martin Kletzander)
- lxc: forbid negative blkio values (Martin Kletzander)
- qemu: Fix build error introduced in 653137eb957a278b556c6226424aad5395a (Peter Krempa)
- qemu: blkiotune: Avoid accessing non-existing disk configuration (Peter Krempa)
- qemu: Label all TAP FDs (Michal Privoznik)
- cmdMigrate: move vshConnect before vshWatchJob (Chunyan Liu)
- qemu: cpu: unplug: Remove vcpu pinning on cold cpu unplug (Peter Krempa)
- qemu: Redundant listen address entry in quest xml (Erik Skultety)
- daemon: Fix driver registration ordering (Michal Privoznik)
- network: fix crash when starting a network with no <pf> element (Laine Stump)
- qemu_process: fix memleak found by coverity (Pavel Hrdina)
- Maximum vlanid should be 4095 in interface.rng (Jianwei Hu)
- LXC: Fix virLXCControllerSetupDevPTS() wrt user namespaces (Richard Weinberger)
- conf: fix parsing 'cmd_per_lun' and 'max_sectors' (Mo yuxiang)
- bhyve: fix error message in bhyveStateInitialize (Dmitry Guryanov)
- qemu: migration: Check domain live state after exitting the monitor (Peter Krempa)
- qemu: managedsave: Check that VM is alive after entering async job (Peter Krempa)
- numatune: Fix parsing of empty nodeset (0,^0) (Erik Skultety)
- conf: Format interface's driver more frequently (Michal Privoznik)
- network: populate interface pool immediately when network is started (Laine Stump)
- network: make networkCreateInterfacePool more robust (Laine Stump)
- Make 'uri' command a bit more prominent. (Guido Günther)
- Don't fail qemu driver intialization if we can't determine hugepage size (Guido
Günther)
- blockjob: fix use-after-free in blockcopy (Eric Blake)
- blockjob: avoid memory leak during block pivot (Eric Blake)
- snapshot: conf: Enforce absolute paths on disk and memory images (Peter Krempa)
- Node Devices: Fix nodedev-list for fc_host & vports. (Prerna Saxena)
- blockjob: correctly report active commit for job info (Eric Blake)
- Fix vlanid attribute name in nwfilter d (Jianwei Hu)
- Don't overwrite errors from virNetDevBandwidthSet (Ján Tomko)
- virsh: check if domiftune parameters fit into UINT (Ján Tomko)
- storage: Refresh storage pool after upload (John Ferlan)
Improvements:
- qemu: Allow use of iothreads for disk definitions (John Ferlan)
- domain_conf: Add support for iothreads in disk definition (John Ferlan)
- qemu: Add support for iothreads (John Ferlan)
- domain_conf: Introduce iothreads XML (John Ferlan)
- qemu: Implement bulk stats API and one of the stats groups to return (Peter Krempa)
- virsh: Implement command to excercise the bulk stats APIs (Peter Krempa)
- remote: Implement bulk domain stats APIs in the remote driver (Peter Krempa)
- lib: Add few flags for the bulk stats APIs (Peter Krempa)
- conf: Add helper to free domain list (Peter Krempa)
- vbox: Register per partes (Michal Privoznik)
- virDriverLoadModule: Honor libvirt func name tranlsation (Michal Privoznik)
- virdrivermoduletest: Test all the modules (Michal Privoznik)
- domain_conf: fix internal flag verification (Eric Blake)
- API: Tweak virDomainOpenGraphics to return fd directly (Eric Blake)
- virsh: domain: Split out code to lookup domain from string (Peter Krempa)
- Wire up virDomainOpenGraphicsFD in QEMU driver (Ján Tomko)
- Add RPC implementation for virDomainOpenGraphicsFd (Ján Tomko)
- blkdeviotune: check for overflow when parsing XML (Erik Skultety)
- storage: remove unused 'canonPath' in virStorageFileGetMetadata (Chen Fan)
- Add new 'kvm' domain feature and ability to hide KVM signature (Alex
Williamson)
- maint: drop spurious semicolons (Eric Blake)
- daemon: Fix option -v missing info priority log (Zhou Yimin)
- qemu: add support for splash-timeout (Martin Kletzander)
- qemu: add capability probing for splash-timeout (Martin Kletzander)
- storage: zfs: implement download and upload (Roman Bogorodskiy)
- fdstream: introduce virFDStreamOpenBlockDevice (Roman Bogorodskiy)
- fdstream: report error if virSetNonBlock fails (Roman Bogorodskiy)
- qemu: check for active domain after agent interaction (Eric Blake)
- Parallels: Change config report errors code. (Alexander Burluka)
- Parallels: add virNodeGetCPUMap(). (Alexander Burluka)
- daemon: use socket activation with systemd (Martin Kletzander)
- rpc: pass listen FD to the daemon being started (Martin Kletzander)
- util: add virCommandPassListenFDs() function (Martin Kletzander)
- tests: support dynamic prefixes in commandtest (Martin Kletzander)
- cfg.mk: allow integers to be assigned a value computed with i|j|k (Martin Kletzander)
- daemon: support passing FDs from the calling process (Martin Kletzander)
- rpc: set listen backlog on FDs as well as on other sockets (Martin Kletzander)
- remote: create virNetServerServiceNewFDOrUNIX() wrapper (Martin Kletzander)
- util: abstract parsing of passed FDs into virGetListenFDs() (Martin Kletzander)
- virsh: Don't print extra '-'s in error message for -k and -K options (Peter
Krempa)
- hvsupport: Adapt to vbox driver rewrite (Michal Privoznik)
- qemu: hotplug: Sanitize shared device removal on media change (Peter Krempa)
- qemu: conf: Split out code to retrieve hostdev key and reuse it (Peter Krempa)
- qemu: conf: Split up qemuRemoveSharedDevice into per-device-type functions (Peter
Krempa)
- qemu: conf: Split up qemuAddSharedDevice into per-device-type functions (Peter Krempa)
- qemu: conf: rename qemuCheckSharedDevice to qemuCheckSharedDisk (Peter Krempa)
- qemu: shared: Split out shared device list remove code (Peter Krempa)
- qemu: shared: Split out insertion code to the shared device list (Peter Krempa)
- qemu: hotplug: Format proper source string for cdrom media change (Peter Krempa)
- qemu: hotplug: Change arguments for qemuDomainChangeEjectableMedia (Peter Krempa)
- qemu: hotplug: Add helper to initialize/teardown new disks for VMs (Peter Krempa)
- qemu: hotplug: Untangle cleanup paths in qemuDomainChangeEjectableMedia (Peter Krempa)
- conf: Pass virStorageSource into virDomainDiskSourceIsBlockType (Peter Krempa)
- qemu: Explicitly state that hotplugging cdroms and floppies doesn't work (Peter
Krempa)
- conf: fix comment (Giuseppe Scrivano)
- conf, virDomainFSDefPtr: rename "path" argument to "target"
(Giuseppe Scrivano)
- bhyve: add volumes support (Roman Bogorodskiy)
- storage: make disk source pool translation generic (Roman Bogorodskiy)
- driver: Move virDrvNetworkGetDHCPLeases to the appropriate section (Peter Krempa)
- qemu: allow device block I/O tuning in session mode (Martin Kletzander)
- src/xenconfig: move common parsing/formatting to xen_common (Jim Fehlig)
- src/xenconfig: wrap common formatting code (Kiarie Kahurani)
- src/xenconfig: wrap common parsing code (Kiarie Kahurani)
- xen: rename xenxs to xenconfig (Jim Fehlig)
- qemu: process: Pin on per-vcpu basis instead of per-vcpupin element (Peter Krempa)
- conf: Refactor virDomainVcpuPinDefParseXML (Peter Krempa)
- conf: cpupin: Remove useless checking of vcpupin element count (Peter Krempa)
- qemu: process: Remove unnecessary argument and rename function (Peter Krempa)
- vbox: Introducing vboxCommonDriver (Taowei)
- vbox: Add registerDomainEvent (Taowei)
- vbox: Rewrite vboxNode functions (Taowei)
- vbox: Rewrite vboxConnectListAllDomains (Taowei)
- vbox: Rewrite vboxDomainScreenshot (Taowei)
- vbox: Rewrite vboxDomainSnapshotDelete (Taowei)
- vbox: Rewrite vboxDomainRevertToSnapshot (Taowei)
- vbox: Rewrite vboxDomainSnapshotHasMetadata (Taowei)
- vbox: Rewrite vboxDomainSnapshotIsCurrent (Taowei)
- vbox: Rewrite vboxDomainSnapshotCurrent (Taowei)
- vbox: Rewrite vboxDomainSnapshotGetParent (Taowei)
- vbox: Rewrite vboxDomainHasCurrentSnapshot (Taowei)
- vbox: Rewrite vboxSnapshotLookupByName (Taowei)
- vbox: Rewrite vboxDomainSnapshotListNames (Taowei)
- vbox: Rewrite vboxDomainSnapshotNum (Taowei)
- vbox: Rewrite vboxDomainSnapshotGetXMLDesc (Taowei)
- vbox: Rewrite vboxDomainSnapshotCreateXML (Taowei)
- vbox: Add API for vboxDomainSnapshotCreateXML (Taowei)
- vbox: Rewrite vboxDomainDetachDeviceFlags (Taowei)
- vbox: Rewrite vboxDomainDetachDevice (Taowei)
- vbox: Rewrite vboxDomainUpdateDeviceFlags (Taowei)
- vbox: Rewrite vboxDomainAttachDeviceFlags (Taowei)
- vbox: Rewrite vboxDomainAttachDevice (Taowei)
- vbox: Rewrite vboxDomainUndefine (Taowei)
- vbox: Rewrite vboxConnectNumOfDefinedDomains (Taowei)
- vbox: Rewrite vboxConnectListDefinedDomains (Taowei)
- vbox: Rewrite vboxDomainGetXMLDesc (Taowei)
- vbox: Add API for vboxDomainGetXMLDesc (Taowei)
- vbox: Rewrite vboxDomainGetMaxVcpus (Taowei)
- vbox: Rewrite vboxDomainGetVcpusFlags (Taowei)
- vbox: Rewrite vboxDomainSetVcpus (Taowei)
- vbox: Rewrite vboxDomainSetVcpusFlags (Taowei)
- vbox: Rewrite vboxDomainGetState (Taowei)
- vbox: Rewrite vboxDomainGetInfo (Taowei)
- vbox: Rewrite vboxDomainSetMemory (Taowei)
- vbox: Rewrite vboxDomainGetOSType (Taowei)
- vbox: Rewrite vboxDomainDestroy (Taowei)
- vbox: Rewrite vboxDomainDestroyFlags (Taowei)
- vbox: Rewrite vboxDomainReboot (Taowei)
- vbox: Rewrite vboxDomainShutdown (Taowei)
- vbox: Rewrite vboxDomainShutdownFlags (Taowei)
- vbox: Rewrite vboxDomainResume (Taowei)
- vbox: Rewrite vboxDomainSuspend (Taowei)
- vbox: Rewrite vboxDomainIsUpdated (Taowei)
- vbox: Rewrite vboxDomainIsPersistent (Taowei)
- vbox: Rewrite vboxDomainIsActive (Taowei)
- vbox: Rewrite vboxDomainLookupByName (Taowei)
- vbox: Rewrite vboxDomainCreateXML (Taowei)
- vbox: Rewrite vboxDomainCreate (Taowei)
- vbox: Rewrite vboxDomainCreateWithFlags (Taowei)
- vbox: Rewrite vboxDomainDefineXML (Taowei)
- vbox: Rewrite vboxDomainUndefineFlags (Taowei)
- vbox: Rewrite vboxDomainLookupByUUID (Taowei)
- vbox: Rewrite vboxDomainLookupById (Taowei)
- vbox: Rewrite vboxConnectNumOfDomains (Taowei)
- vbox: Rewrite vboxConnectListDomains (Taowei)
- vbox: Rewrite vboxConnectGetCapabilities (Taowei)
- vbox: Rewrite vboxConnectGetMaxVcpus (Taowei)
- vbox: Rewrite vboxConnectIsAlive (Taowei)
- vbox: Rewrite vboxConnectIsEncrypted (Taowei)
- vbox: Rewrite vboxConnectIsSecure (Taowei)
- vbox: Rewrite vboxConnectGetHostname (Taowei)
- vbox: Rewrite vboxConnectGetVersion (Taowei)
- vbox: Rewrite vboxDomainSave (Taowei)
- vbox: Rewrite vboxConnectClose (Taowei)
- vbox: Begin to rewrite, vboxConnectOpen (Taowei)
- src/xenxs: Refactor code formating vif device config (Jim Fehlig)
- src/xenxs: Refactor code formating peripheral device config (Kiarie Kahurani)
- src/xenxs: Refactor code formating Vfb config (Kiarie Kahurani)
- src/xenxs: Refactor code formating OS config (Kiarie Kahurani)
- src/xenxs: Refactor code formating CPU config (Kiarie Kahurani)
- src/xenxs: Refactor code formating xm disk config (Kiarie Kahurani)
- src/xenxs: Refactor code formating Char devices config (Kiarie Kahurani)
- src/xenxs: Refactor code formating event actions config (Kiarie Kahurani)
- src/xenxs: Refactor code formating virtual time config (Kiarie Kahurani)
- src/xenxs: Refactor code formating memory config (Kiarie Kahurani)
- src/xenxs: Refactor code formating general VM config (Kiarie Kahurani)
- qemu: Tidy up job handling during live migration (Sam Bobroff)
- LXC: resolve issues in lxcDomainSetMaxMemory (Chen Hanxiao)
- daemon: Limit default log level to journald to VIR_LOG_INFO (Peter Krempa)
- libvirtd: conf: Mention support for logging into journald (Peter Krempa)
- maint: improve syntax check for space around = (Eric Blake)
- qemu_conf: Undefine the correct symbol (Michal Privoznik)
- qemu: process: Fix header format of qemuProcessSetVcpuAffinities (Peter Krempa)
- qemu: use guest-fsfreeze-freeze-list command if mountpoints to freeze specified (Tomoki
Sekiyama)
- qemu: Actually clear bandwidth settings (Jianwei Hu)
- src/xenxs: Refactor code parsing OS config (Kiarie Kahurani)
- src/xenxs: Refactor code parsing general config (Kiarie Kahurani)
- src/xenxs: Refactor code parsing emulated hardware config (Kiarie Kahurani)
- src/xenxs: Refactor code parsing Vif config (Kiarie Kahurani)
- src/xenxs: Refactor code parsing Char devices config (Kiarie Kahurani)
- src/xenxs: Refactor code parsing Vfb config (Kiarie Kahurani)
- src/xenxs: Refactor code parsing xm disk config (Kiarie Kahurani)
- src/xenxs: Refactor code parsing CPU features (Kiarie Kahurani)
- src/xenxs: Refactor code parsing PCI config (Kiarie Kahurani)
- src/xenxs: Refactor code parsing event actions (Kiarie Kahurani)
- src/xenxs: Refactor code parsing virtual time config (Kiarie Kahurani)
- src/xenxs: Refactor code parsing memory config (Kiarie Kahurani)
- conf: Add USB sound card support and implement it for qemu (Peter Krempa)
- hostdev: Add iSCSI hostdev XML (John Ferlan)
- domain_conf: Common routine to handle network storage host xml def (John Ferlan)
- qemu: Make virFileFindHugeTLBFS fault tolerant (Michal Privoznik)
- qemu: reword caps-related error (Martin Kletzander)
- domtop: Turn parse_argv into void (Michal Privoznik)
- qemu: fix comment in qemu.conf (Martin Kletzander)
Cleanups:
- virsh: drop unused variable (Eric Blake)
- Fix spacing around commas (Michal Privoznik)
- examples: test: Kill unsupported maxMemory element (Peter Krempa)
- cleanup spaces between parentheses and braces (Martin Kletzander)
- qemu_command: fix block indentation (Giuseppe Scrivano)
- qemu: Remove extraneous space in function prototypes (John Ferlan)
- daemon: Fix indentation in libvirtd.c (Wang Rui)
- domtop: Remove unused variable (Michal Privoznik)
thanks everybody for your contribution to this new release, be it with
reports, ideas, patches, reviews or help on the localization !
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | virtualization library
http://libvirt.org/