As planned I tagged the release in git and pushed the new version
to the usual place as tarball and rpms:
ftp://libvirt.org/libvirt/
I hesited a bit in pushing the patchset from Peter fixing the
memory corruption bug, but since it seems hard to reproduce and
the amount of change was a bit too large to push just before a
release, I prefered delaying it until after 1.0.4 .
This release is a bit smaller than usual at around 200 patches
but that's not surprizing considering the shrter timeframe since
1.0.3. This includes an homogenous set of features, improvements
and bug fixes, plus updates for localization of ukrainian (100%),
japanese (100%), French (12%) and Gujarati (78%)
Features:
- qemu: support passthrough for iscsi disks (Paolo Bonzini)
- various S390 improvements (Viktor Mihajlovski)
- various LXC bugs fixes and improvements (Daniel P. Berrange, Gao feng)
- Add API for thread cancellation (Daniel P. Berrange)
Documentation:
- Fix truncated sentence in RDP 'multiUser' attribute (Christophe Fergeau)
- Remove the redundant parentheses in migrate help (Yanbing Du)
- virsh: Fix docs for "virsh setmaxmem" (Peter Krempa)
- util: fix virAllocVar's comment (Ján Tomko)
- clarify virsh net commands (Gene Czarcinski)
- storage: Fix grammar (Philipp Hahn)
- Fix /pool/storage/name documentation (Christophe Fergeau)
- Fix /pool/storage/directory@path documentation (Christophe Fergeau)
- Fix snapshot-create-as syntax in help output (Martin Kletzander)
- Update to COPYING.LIB to latest LGPLv2.1 copy (Christophe Fergeau)
- Fix a copy & paste error for virsh dump help (Yanbing Du)
- Clarify semantics of sparse storage volumes (Jiri Denemark)
Portability:
- virutil: Fix compilation on non-linux platforms (Michal Privoznik)
- Fix linkage of virt-aa-helper with numa library (Daniel P. Berrange)
- Don't fail if SELinux is diabled (Guido Günther)
- Fix --without-libvirtd builds (Doug Goldstein)
- lxc: include sys/stat.h (Guido Günther)
- Ensure GET_VLAN_VID_CMD is always defined (Daniel P. Berrange)
- Don't import loop.h unless HAVE_DECL_LO_FLAGS_AUTOCLEAR is defined (Daniel P.
Berrange)
Bug Fixes:
- virsh: don't call virSecretFree on NULL (Ján Tomko)
- storage: Avoid double virCommandFree in virStorageBackendLogicalDeletePool (Martin
Kletzander)
- nodedev: invert virIsCapableFCHost return value (Ján Tomko)
- security_manager.c: Append seclabel iff generated (Michal Privoznik)
- security: Don't add seclabel of type none if there's already a seclabel (Michal
Privoznik)
- security_manager: Don't manipulate domain XML in virDomainDefGetSecurityLabelDef
(Michal Privoznik)
- conf: fix memory leak of class_id bitmap (Guannan Ren)
- uml:release config object when uml driver shutdown (Guannan Ren)
- qemu:release qemu config object when qemu driver shutdown (Guannan Ren)
- net: use newer iptables syntax (Stefan Seyfried)
- remote: Don't call NULL closeFreeCallback (Viktor Mihajlovski)
- rpc: Fix client crash when server drops connection (Jiri Denemark)
- conf: fix a failure when detaching a usb device (Guannan Ren)
- qemu: Don't set address type too early during virtio disk hotplug (Guido Günther)
- virsh: error out on non-numeric timeout values (Ján Tomko)
- qemu: Set migration FD blocking (Michal Privoznik)
- util: Fix bug of managing vport (Osier Yang)
- nodedev: Fix the improper logic when enumerating SRIOV VF (Osier Yang)
- lxc: Prevent shutting down the host (Martin Kletzander)
- Ensure root filesystem is mounted if a file/block mount. (Daniel P. Berrange)
- Fix thread safety in LXC callback handling (Daniel P. Berrange)
- Remove bogus filtering from virDomainGetRootFilesystem (Daniel P. Berrange)
- Fix parsing of bond interface XML (Jim Fehlig)
- virsh: don't print --(null) in vol-name and vol-pool (Ján Tomko)
- Fix free of uninitialized value in LXC numad setup (Daniel P. Berrange)
- Correct invalid RNG schemas (Martin Kletzander)
- python: Fix emulatorpin API bindings (Peter Krempa)
- qemu: Un-mark volume as mirrored/copied if blockjob copy fails (Peter Krempa)
- Fix initialization of virIdentityPtr thread locals (Daniel P. Berrange)
- qemu: Add the new disk src into shared disk table when updating disk (Osier Yang)
- python: fix bindings that don't raise an exception (Guannan Ren)
- Fix typos s/HAVE_SELINUX/WITH_SELINUX/ (Daniel P. Berrange)
- fix TLS error with virNetServerClientCreateIdentity (Olivia Yin)
- storage: fix unlikely memory leak in rbd backend (Laine Stump)
- Do not prematurely close loop devices in LXC controller (Daniel P. Berrange)
- qemu: Fix startupPolicy regression (Jiri Denemark)
- qemu: do not support non-network disks without -drive (Paolo Bonzini)
- Fix size probing for VDI images (Ján Tomko)
- Fix memory leak on OOM in virSecuritySELinuxMCSFind (Daniel P. Berrange)
- Avoid closing uninitialized FDs when LXC startup fails (Daniel P. Berrange)
- Prevent streams from becoming libvirtd controlling TTY (Daniel P. Berrange)
- util: escapes special characters in VIR_LOG_REGEX (Guannan Ren)
- Daemonize fuse thread in libvirt_lxc (Daniel P. Berrange)
- Fix missing error dispatch in virDomainLxcEnterNamespace (Daniel P. Berrange)
- Fix query of LXC security label (Daniel P. Berrange)
- qemu_driver: Try KVM_CAP_MAX_VCPUS only if defined (Michal Privoznik)
- Add missing break in LXC loop device setup (Daniel P. Berrange)
- qemu: Avoid NULL dereference in qemuSharedDiskEntryFree (Jiri Denemark)
- qemu: Fix retrieval of maximum number of vCPUs on KVM hosts (Peter Krempa)
- virsh: fix snapshot-create with no xmlfile (Ján Tomko)
- lxc: Init activeUsbHostdevs (Guido Günther)
- bandwidth: Require network QoS if interface uses 'floor' (Michal Privoznik)
- qemuDomainBlockStatsFlags: Guard disk lookup with a domain job (Michal Privoznik)
- Fix crash parsing RNG device specification (Daniel P. Berrange)
- Resolve valgrind error (John Ferlan)
- storage: Cleanup logical volume creation code (Jiri Denemark)
- qemu: update domain live xml for virsh memtune with --live flag (Guannan Ren)
- util: fix a integer boundary error (Guannan Ren)
Improvements:
- util: Fix the conflict type for virIsCapableFCHost (Osier Yang)
- libvirt_private.syms: Correctly export seclabel APIs (Michal Privoznik)
- log: Separate thread ID from timestemp in ring buffer (Jiri Denemark)
- virsh: Correct DESCRIPTION for virsh help blockcopy (Yanbing Du)
- Fix virConnectOpen.*() name requirements (Martin Kletzander)
- virsh: Let the compiler check usage of all fields in vshCmdOptType enum (Peter Krempa)
- python: set default value to optional arguments (Guannan Ren)
- libvirt-guests: newline between output sentences (Eric Blake)
- nodedev: Abstract nodeDeviceVportCreateDelete as util function (Osier Yang)
- nodedev: Dump max vports and vports in use for HBA's XML (Osier Yang)
- nodedev: Refactor the helpers (Osier Yang)
- nodedev: Use access instead of stat (Osier Yang)
- util: Add one helper virReadFCHost to read the value of fc_host entry (Osier Yang)
- nodedev: Introduce two new flags for listAll API (Osier Yang)
- nodedev: Remove the unused enum (Osier Yang)
- Mount temporary devpts on /var/lib/libvirt/lxc/$NAME.devpts (Daniel P. Berrange)
- Move FUSE mount to /var/lib/libvirt/lxc/$NAME.fuse (Daniel P. Berrange)
- viralloc: Export virAllocTest* (Michal Privoznik)
- qemu: add support for LSI MegaRAID SAS1078 (aka megasas) SCSI controller (Paolo
Bonzini)
- qemu: pass iscsi authorization credentials (Paolo Bonzini)
- domain: parse XML for iscsi authorization credentials (Paolo Bonzini)
- secret: add iscsi to possible usage types (Paolo Bonzini)
- domain: make port optional for network disks (Paolo Bonzini)
- qemu: add support for libiscsi (Paolo Bonzini)
- make: regenerate bindings when <classname>.py changes (Guannan Ren)
- python: treat flags as default argument with value 0 (Guannan Ren)
- virsh-snapshot: Simplify cleanup path in cmdSnapshotEdit (Peter Krempa)
- virsh-snapshot: Use the mutually exclusive params macro in cmdSnapshotEdit (Peter
Krempa)
- virsh-snapshot: Refactor cmdSnapshotCurrent (Peter Krempa)
- virsh-domain: Fix flag name in error message to match the check (Peter Krempa)
- virsh-host: Refactor cmdFreecell (Peter Krempa)
- virsh-snapshot: Refactor virsh snapshot-list (Peter Krempa)
- virsh: Introduce macros to reject mutually exclusive arguments (Peter Krempa)
- qemu: s/VIR_ERR_NO_SUPPORT/VIR_ERR_OPERATION_UNSUPPORTED (Michal Privoznik)
- domain: add support for iscsi network disks (Paolo Bonzini)
- cgroup: export virCgroupRemoveRecursively (Gao feng)
- doc/schema: disk storage volume formats (Philipp Hahn)
- doc/schema: Support iqn for storage pools (Philipp Hahn)
- doc/schema: add ocfs2 for disk vol (Philipp Hahn)
- LXC: add cpuset cgroup support for lxc (Gao feng)
- NUMA: cleanup for numa related codes (Gao feng)
- LXC: allow uses advisory nodeset from querying numad (Gao feng)
- rename qemuGetNumadAdvice to virNumaGetAutoPlacementAdvice (Gao feng)
- selinux: deal with dtb file (Olivia Yin)
- qemu: add dtb option support (Olivia Yin)
- conf: support <dtb> tag in XML domain file (Olivia Yin)
- rename tests/conftest.c (Gene Czarcinski)
- Setup LXC cgroups in two phases (Daniel P. Berrange)
- Set the current client identity during API call dispatch (Daniel P. Berrange)
- Add ability to get a virIdentity from a virNetServerClientPtr (Daniel P. Berrange)
- Add API to get the system identity (Daniel P. Berrange)
- Add APIs for associating a virIdentityPtr with the current thread (Daniel P. Berrange)
- Define internal APIs for managing identities (Daniel P. Berrange)
- Add APIs to get at more client security data (Daniel P. Berrange)
- qemu: support URI syntax for NBD (Paolo Bonzini)
- qemu: support NBD with Unix sockets (Paolo Bonzini)
- qemu: support named nbd exports (Paolo Bonzini)
- qemu: rewrite NBD command-line builder and parser (Paolo Bonzini)
- qemu: test NBD command-line builder and parser (Paolo Bonzini)
- util: portably check for unchanged uid (Eric Blake)
- Make vshDebug work when parsing parameters (Martin Kletzander)
- Remove contiguous CPU indexes assumption (Li Zhang)
- audit: Audit resources used by VirtIO RNG (Peter Krempa)
- S390: Testcases for virtio-scsi and virtio-rng (Viktor Mihajlovski)
- S390: Enable virtio-scsi and virtio-rng (Viktor Mihajlovski)
- qemu: Rename virtio-scsi capability (Viktor Mihajlovski)
- util: fix clear_emulator_capabilities=0 (Laine Stump)
- Fix deps for generating RPC dispatch code (Daniel P. Berrange)
- Fix generation of systemtap probes for RPC protocols (Daniel P. Berrange)
- Re-add DTrace probes on 'dispose' functions (Daniel P. Berrange)
- Fix parsing of SELinux ranges without a category (Daniel P. Berrange)
- Separate MCS range parsing from MCS range checking (Daniel P. Berrange)
- virtio-rng: Add rate limiting options for virtio-RNG (Peter Krempa)
- S390: Testcases for virtio-ccw machines (Viktor Mihajlovski)
- S390: Add hotplug support for s390 virtio devices (J.B. Joret)
- S390: QEMU driver support for CCW addresses (Viktor Mihajlovski)
- S390: domain_conf support for CCW (Viktor Mihajlovski)
- S390: Documentation for CCW address type (Viktor Mihajlovski)
- Use separate symbol file for GNUTLS symbols (Daniel P. Berrange)
- Apply security label when entering LXC namespaces (Daniel P. Berrange)
- virCaps: conf: start splitting out irrelevat data (Peter Krempa)
- Remove hack using existance of an 'identity' string to disable auth (Daniel P.
Berrange)
- Convert HAVE_SELINUX to WITH_SELINUX (Guido Günther)
- capabilities: add NUMA memory information (Dusty Mabe)
- apparmor: use AppArmorSetFDLabel for both imageFD and tapFD (Guannan Ren)
- Include pid namespace inode in LXC audit messages (Daniel P. Berrange)
- Add support for disks backed by plain files in LXC (Daniel P. Berrange)
- Refactor loop device setup code in LXC (Daniel P. Berrange)
- Convert QEMU driver to use virLogProbablyLogMessage (Daniel P. Berrange)
- Improve LXC startup error reporting (Daniel P. Berrange)
- Add method for checking if a string is (probably) a log message (Daniel P. Berrange)
- Use VIR_MASS_CLOSE in LXC container startup (Daniel P. Berrange)
- Fix conditional build of virNetDevSetupControlFull (Daniel P. Berrange)
- Rename 'daemon' param to 'binary' in virNetClientNewUNIX (Daniel P.
Berrange)
- Rename 'clone' to 'clonevol' to avoid name clash with clone() syscall
(Daniel P. Berrange)
- viralloc: use consistent naming (Eric Blake)
- rng: allow default device in RNG grammar (Eric Blake)
- build: avoid shadowing a function name (Eric Blake)
- conf: Report errors on cputune parameter parsing (Peter Krempa)
- conf: Make virDomainDeviceInfoIterate usable without os type (Peter Krempa)
- virsh-snapshot: Add ability to print only snapshot names (Peter Krempa)
Cleanups:
- python:remove semicolon in python code (Guannan Ren)
- Clean redundant code about VCPU string checking (Li Zhang)
- Cleanup useless flags specifications (Martin Kletzander)
- nodeinfo: don't define nodeGetCellMemory if it isn't ever used (Hu Tao)
- virsh-domain: Remove unused vshCompleteXMLFromDomain (Peter Krempa)
- sheepdog: Adjust logic to break while loop to avoid Coverity error (John Ferlan)
- libxl_driver: Resolve Coverity errors (John Ferlan)
- libxl_conf: Resolve Coverity issue with call to regcomp() (John Ferlan)
- conf: whitespace cleanups and refactors with no semantic impact (Peter Krempa)
thanks everybody for your contributions for this release !
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/