提交 c4f6e806 编写于 作者: D Daniel Veillard

Release of libvirt 0.7.1

* configure.in docs/news.html.in libvirt.spec.in src/libvirt_public.syms:
  updates to new release
* NEWS docs/devhelp/libvirt-libvirt.html docs/html/libvirt-libvirt.html
  docs/libvirt-api.xml docs/libvirt-refs.xml docs/news.html
  include/libvirt/libvirt.h: regenerated
上级 a640328f
......@@ -5,6 +5,236 @@
http://libvirt.org/news.html
0.7.1: Sep 15 2009:
- New features:
Add support for encrypted (qcow) volume creation. (Miloslav Trmač),
Secret manipulation public API (Miloslav Trmač),
Multipath storage support module (Dave Allan),
VBox add Storage Volume support (Pritesh Kothari),
Support configuration of huge pages in guests (Daniel P. Berrange),
Support new PolicyKit 1.0 API (Daniel P. Berrange),
Compressed save image format for Qemu (Chris Lalancette, Charles Duffy
and Jim Meyering),
QEmu add host PCI device hotplug support (Mark McLoughlin)
- Documentation:
Minor comment changes (Laine Stump),
Fix up virNodeGetCellsFreeMemory (Chris Lalancette),
Fix some typos and remove unhelpful acronyms in QEMU docs (Daniel P. Berrange),
Add documentation about the QEMU driver security features (Daniel P. Berrange),
Remove 'the-the' typo in docs (Daniel P. Berrange),
Fix some URLs in virsh manpage (Mark McLoughlin),
Add link to AbiCloud web management system (Daniel P. Berrange),
Update logging documentation (Amy Griffis)
- Portability:
Fix win32 platform build (Daniel P. Berrange)
- Bug fixes:
VBox bug when starting machine from old versions (Pritesh Kothari),
ESX avoid potential leaks (Matthias Bolte),
Fix more OOM handling bugs (Daniel P. Berrange),
Fix logging buffer overrun read (Daniel P. Berrange),
Fix misc thread locking bugs / bogus warnings (Daniel P. Berrange),
Fix regression from "Avoid polling on FDs with no events" (Chris Lalancette),
Close logfile fd after spawning qemu (Ryota Ozaki),
Check for libssh2 >= 1.0 for phy driver (Maximilian Wilhelm),
Avoid another leak in src/xend_internal.c (Matthias Bolte),
Avoid a leak in xenDaemonLookupByID (Matthias Bolte),
VBox fix minor bugs in display and added OOM checks (Pritesh Kothari),
Some close/fclose/closedir calls are missing (Matthias Bolte),
lxc_container.c: avoid a leak on error paths (Jim Meyering),
Fix several memory leaks (Ryota Ozaki),
Fix a memory leak in virsh (Laine Stump),
Fix ID field in virDomainPtr after starting Xen VM (Daniel P. Berrange),
Fix memory leak of monitor character device (Daniel P. Berrange),
Automatically set correct ownership of QEMU state directories (Daniel P. Berrange),
Avoid polling on FDs with no events enabled (Daniel P. Berrange),
esx_vi: return -1 upon failure, as intended (Matthias Bolte),
python: let libvirt_virConnectDomainEventCallback indicate success (Jim Meyering),
uml_conf.c: don't return an uninitialized pointer (Jim Meyering),
storage_backend.c: assure clang that inputvol can't be NULL (Jim Meyering),
libvir.c: avoid NULL dereference in virStoragePoolSetAutostart (Jim Meyering),
lxc: avoid NULL dereference upon getmntent failure (Jim Meyering),
storage_backend_fs: avoid NULL dereference on opendir failure (Jim Meyering),
Fix bugs in virDomainMigrate v2 code. (Chris Lalancette),
VMware ESX: Don't warn on some query parameter (Matthias Bolte),
Don't blindly reorder disk drives (Daniel P. Berrange),
Fix sexpr2string() to handle empty list. (Jim Fehlig),
Fix driver entry table for UML numa APIs (Daniel P. Berrange),
Fix crash in virsh vol-key command (Pritesh Kothari),
517157 fix selinux problem with images on NFS (Darryl L. Pierce),
Fix phypOpen() escape_specialcharacters (Mattias Bolte),
Power Hypervisor: fix potential segfault (Mattias Bolte),
Fix bridge/tap system error reporting (Mark McLoughlin),
Reset PCI host devices after hot-unplug (Mark McLoughlin),
Reset unmanaged PCI host devices before hotplug (Mark McLoughlin),
Fix up connection reference counting. (Chris Lalancette),
Fix LXC driver crash when kernel doesn't support clone (Daniel P. Berrange),
Make LXC / UML drivers robust against NUMA topology brokenness (Daniel P. Berrange),
Run 'cont' on successful migration finish. (Chris Lalancette),
Fix QEMU domain status after restore. (Chris Lalancette),
Handle kernels with no ipv6 support (Mark McLoughlin),
Set perms on /var/lib/libvirt/boot to 0711 (Mark McLoughlin),
chown kernel/initrd before spawning qemu (Mark McLoughlin),
Several fixes to libvirtd's log setup (Amy Griffis),
Fix memleak if esxOpen fails (Matthias Bolte)
- Improvement:
support lzop save compression for qemu (Charles Duffy),
VBox 3.0.6 API change support (Pritesh Kothari),
Add UUID definition required by storage encryption import (Daniel P. Berrange),
Make secrets RNG more strict (Daniel P. Berrange),
Fill in secret UUID for qcow encryption (Daniel P. Berrange),
Add usage type/id as a public API property of virSecret (Daniel P. Berrange),
Fix UUID handling in secrets/storage encryption APIs (Daniel P. Berrange),
Save vcpuinfo in status file (Daniel P. Berrange),
Restart libvirtd upon RPM upgrade (Daniel P. Berrange),
Add support for qcow encrypted volumes to qemu. (Miloslav Trmač),
Provide missing passphrase when creating a volume. (Miloslav Trmač),
Add virsh commands for secrets APIs (Miloslav Trmač),
Local file implementation of secret driver API (Miloslav Trmač),
Mask out flags used internally for virSecretGetValue (Miloslav Trmač),
Add <usage> to <secret> docs (Miloslav Trmač),
also allow use of XZ for Qemu image compression (Jim Meyering),
Support relabelling of USB and PCI devices (Daniel P. Berrange),
Add helper APIs for iterating over PCI device resource files (Daniel P. Berrange),
Add helper module for dealing with USB host devices (Daniel P. Berrange),
Test that domain-specific qemu machine types are used correctly (Mark McLoughlin),
Probe machine types from kvm binary too (Mark McLoughlin),
Look up machine types from all domains in qemudGetOldMachines() (Mark McLoughlin),
Test qemu machine aliases (Mark McLoughlin),
Add qemu -help test data for qemu-kvm-0.11.0-rc2 (Mark McLoughlin),
Add a more featureful qemu capabilities test data (Mark McLoughlin),
Add arm arch to capabilities schema (Mark McLoughlin),
Update capabilities schema to allow multiple machines per domain (Mark McLoughlin),
Add esx and tcp migration uri transports to capabilities schema (Mark McLoughlin),
Reintroduce support for lzop compression (Charles Duffy),
build: update gnulib submodule to latest (Jim Meyering),
Add flags and requires for Multipath storage (Daniel Veillard),
ESX raise error if UUID parse failed (Matthias Bolte),
ESX add domain undefine based on esxVI_UnregisterVM (Matthias Bolte),
ESX add esxGetCapabilities() with basic defaults (Matthias Bolte),
Switch Power Hypervisor to libssh2 (Eduardo Otubo),
Allow libvirtd to RPC to external libvirtd (Chris Lalancette),
Add support for setting disk drive serial numbers (Daniel P. Berrange),
VBox support for defining/dumping video devices (Pritesh Kothari),
Generic parsing support for video acceleration (Pritesh Kothari),
VMware ESX: Allow ethernet address type 'vpx' (Matthias Bolte),
Support for getting/setting number of cpus in VBox (Pritesh Kothari),
Make handling of monitor prompts more general. (Miloslav Trmač),
Attach encryption information to virDomainDiskDef. (Miloslav Trmač),
Recognize encryption format of qcow volumes. (Miloslav Trmač),
Attach encryption information to virStorageVolDef. (Miloslav Trmač),
Add volume encryption information handling. (Miloslav Trmač),
Secret manipulation API docs refresh and wire up python generator (Miloslav Trmač),
Secret manipulation remote client (Miloslav Trmač),
Secret manipulation libvirtd wire protocol and remote dispatcher (Miloslav Trmač),
Secret manipulation public API implementation (Miloslav Trmač),
Secret manipulation internal API (Miloslav Trmač),
Add test for recently fixed crash with latest XenD (Daniel P. Berrange),
Don't expose 'vnet%d' to the user (Mark McLoughlin),
Maintain a list of active PCI hostdevs and use it in pciResetDevice() (Mark McLoughlin),
Simplify PCI hostdev prepare/re-attach using a pciDeviceList type (Mark McLoughlin),
Use pci_addr=auto with QEMU's pci_add monitor command (Mark McLoughlin),
Check active domain hostdevs before allowing PCI reset (Mark McLoughlin),
Allow pciResetDevice() to reset multiple devices (Mark McLoughlin),
Improve PCI host device reset error message (Mark McLoughlin),
Reset and re-attach PCI host devices on guest shutdown (Mark McLoughlin),
Allow PM reset on multi-function PCI devices (Mark McLoughlin),
Detect KVM's PCI device assignment support (Mark McLoughlin),
Split virDomainMigrate into functions. (Chris Lalancette),
Consolidate code for parsing the logging env (Amy Griffis)
- Cleanups:
Remove accidentally added UUID re-definition in storage schema (Daniel P. Berrange),
ESX cleanup of CPU model strings (Matthias Bolte),
Fix use of dlopen modules (Daniel P. Berrange),
Consolidate "cont" into qemudMonitorSendCont() (Miloslav Trmač),
Cleanup sec driver error reporting to use virReportSystemError (Daniel P. Berrange),
Port QEMU driver to use USB/PCI device helpers (Daniel P. Berrange),
Simplify and fix qemudCanonicalizeMachine() (Mark McLoughlin),
Split up qemudGetOldMachines() (Mark McLoughlin),
Re-factor qemu test machine allocation code (Mark McLoughlin),
Canonicalize the qemu machine type in qemuxml2argvtest (Mark McLoughlin),
Dump qemu driver capabilities if test debugging enabled (Mark McLoughlin),
Fix formatting of machine types in capabilities XML (Mark McLoughlin),
qemu_driver.c: factor out more duplication (Jim Meyering),
Deprecate lzma and lzop in favor of xz, add dep (Daniel Veillard),
qemu_driver.c: factor out duplication in compression-type handling (Jim Meyering),
openvz_conf.c: remove dead store to "p"; use strchrnul (Jim Meyering),
Remove some tabs used for indent (Daniel Veillard),
Updated a number of localizations and regenerated (Daniel Veillard),
Add a missing comment (Miloslav Trmač),
Fix a pasto in storage_encryption_conf.c (Miloslav Trmač),
xm_internal.c: remove four useless comparisons after strchr (Jim Meyering),
xm_internal.c: remove dead increment of "data" (Jim Meyering),
network_driver.c: remove dead store to "err" (Jim Meyering),
iptables.c: remove dead store to "s" (Jim Meyering),
util.c: avoid dead store to "flag" (Jim Meyering),
domain_conf.c: remove two dead stores (Jim Meyering),
xm_internal.c: remove two ret=... dead stores (Jim Meyering),
xm_internal.c: remove dead stores of local, "type" (Jim Meyering),
network_conf.c: remove dead store to "err" (Jim Meyering),
openvz_driver.c: avoid dead store to "err" (Jim Meyering),
xend_internal.c: Remove two dead stores to "ret" (Jim Meyering),
storage_driver.c: remove two dead stores to "backend" (Jim Meyering),
qemu_conf.c: add a comment suggesting why we leave a dead-store (Jim Meyering),
hash.c: remove a dead store (Jim Meyering),
interface_conf.c: remove a dead-store and declaration (Jim Meyering),
eventtest.c: detect write failure and avoid dead stores (Jim Meyering),
openvz_conf.c: Remove dead store to copy_fd (Jim Meyering),
storage_backend_logical.c: appease clang: remove useless increment (Jim Meyering),
ESX simplify SOAP request and response handling (Matthias Bolte),
ESX use virXPathNode*() to simplify XPath handling (Matthias Bolte),
ESX: make esxVI_GetVirtualMachineIdentity() robust (Matthias Bolte),
ESX: Fix VMX path parsing and URL encoding (Matthias Bolte),
VBox driver cleanups (Pritesh Kothari),
PHYP driver cleanups (Daniel Veillard),
Move QEMU monitor socket in /var/lib/libvirt/qemu (Daniel P. Berrange),
xen_internal.c: remove two unused local variables (Jim Meyering),
mdns.c: remove dead initialization (Jim Meyering),
node_device_conf.c: remove dead initialization (Jim Meyering),
openvz_conf.c: don't use undefined local, "net" (Jim Meyering),
test.c: don't use undefined local, "def" (Jim Meyering),
remote_internal.c: appease clang (Jim Meyering),
infra: define ATTRIBUTE_NONNULL to mark non-NULL parameters (Jim Meyering),
lxc: don't unlink(NULL) in main (Jim Meyering),
storage_conf.c: avoid overflow upon use of "z" or "Z" (zebi) suffix (Jim Meyering),
VBox cleanup and update of networking shutdown (Pritesh Kothari),
Box cleanup and update of networking XML functions (Pritesh Kothari),
Fix misc OOM bugs (Daniel P. Berrange),
Misc fixes to secrets API code (Daniel P. Berrange),
Only add glusterfs dep for Fedora >= 11 (Daniel P. Berrange),
Remove redundant base64 include file (Daniel P. Berrange),
Don't assume buffered output echoes the command. (Miloslav Trmač),
Update chinese, polish and spanish localizations (Daniel Veillard),
OpenVZ: accept NULL as type for GetMaxVCPUs. (Chris Lalancette),
Remove use of strncpy in qemudExtractMonitorPath. (Chris Lalancette),
Refactor policycode auth code to avoid compiler warnings (Daniel P. Berrange),
spec file: add URL to Source tag (Mark McLoughlin),
Small fixes for qemu save compression. (Chris Lalancette),
Fix thinko in PCI hostdev detach (Mark McLoughlin),
Revert changes to allow pciResetDevice() reset multiple devices (Mark McLoughlin),
Fix list updating after disk/network/hostdev hot-unplug (Mark McLoughlin),
Re-name remote_internal.c:driver to remote_driver (Mark McLoughlin),
Cosmetic change to 'virsh nodedev-list --tree' output (Mark McLoughlin),
Re-factor hostdev hotplug (Mark McLoughlin),
Remove a duplicated assignment in Xen PCI parsing. (Chris Lalancette),
Fix up a few minor indentation issues. (Chris Lalancette),
Fix phyp escape_specialcharacters. (Chris Lalancette),
Make openvzGetVPSUUID take a len. (Chris Lalancette),
Minor cleanup of error path for c_oneVmInfo. (Chris Lalancette),
Fix up a whitespace in comments in src/console.c (Chris Lalancette),
Fix up a stray whitespace in virHashGrow. (Chris Lalancette),
Remove unsafe strncpy from esx_vmx.c (Chris Lalancette),
Cleanup VIR_LOG_DEBUG parsing in eventtest (Amy Griffis),
Tighten libvirt's parsing of logging env (Amy Griffis),
Cleanup structure name naming (Matthias Bolte),
Add proper OOM reporting for esxDomainGetOSType (Matthias Bolte)
0.7.0: Aug 5 2009:
- New features: Interface implementation based on netcf (Laine Stump,
Daniel Veillard), Add new net filesystem glusterfs (Harshavardhana),
......
dnl Process this file with autoconf to produce a configure script.
AC_INIT([libvirt], [0.7.0])
AC_INIT([libvirt], [0.7.1])
AC_CONFIG_SRCDIR([src/libvirt.c])
AC_CONFIG_AUX_DIR([build-aux])
AM_CONFIG_HEADER([config.h])
......
......@@ -1404,11 +1404,11 @@ The content of this structure is not made public by the API.
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>a secret object</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>pointer to a <a href="libvirt-libvirt.html#VIR_UUID_STRING_BUFLEN">VIR_UUID_STRING_BUFLEN</a> bytes array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 in case of success</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virSecretGetUsageID"/>virSecretGetUsageID ()</h3><pre class="programlisting">const char * virSecretGetUsageID (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret)<br/>
</pre><p>Get the unique identifier of the object with which this secret is to be used</p>
</pre><p>Get the unique identifier of the object with which this secret is to be used. The format of the identifier is dependant on the usage type of the secret. For a secret with a usage type of <a href="libvirt-libvirt.html#VIR_SECRET_USAGE_TYPE_VOLUME">VIR_SECRET_USAGE_TYPE_VOLUME</a> the identifier will be a fully qualfied path name. The identifiers are intended to be unique within the set of all secrets sharing the same usage type. ie, there shall only ever be one secret for each volume path.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>a secret object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string identifying the object using the secret, or NULL upon error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virSecretGetUsageType"/>virSecretGetUsageType ()</h3><pre class="programlisting">int virSecretGetUsageType (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret)<br/>
</pre><p>Get the type of object which uses this secret</p>
</pre><p>Get the type of object which uses this secret. The returned value is one of the constants defined in the <a href="libvirt-libvirt.html#virSecretUsageType">virSecretUsageType</a> enumeration. More values may be added to this enumeration in the future, so callers should expect to see usage types they do not explicitly know about.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>a secret object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a positive integer identifying the type of object, or -1 upon error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virSecretGetValue"/>virSecretGetValue ()</h3><pre class="programlisting">unsigned char * virSecretGetValue (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret, <br/> size_t * value_size, <br/> unsigned int flags)<br/>
......@@ -1420,15 +1420,15 @@ The content of this structure is not made public by the API.
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>A <a href="libvirt-libvirt.html#virSecret">virSecret</a> secret</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>flags, use 0 for now</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XML document on success, NULL on failure. The caller must free() the XML.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virSecretLookupByUUID"/>virSecretLookupByUUID ()</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> virSecretLookupByUUID (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const unsigned char * uuid)<br/>
</pre><p>Try to lookup a secret on the given hypervisor based on its UUID.</p>
</pre><p>Try to lookup a secret on the given hypervisor based on its UUID. Uses the 16 bytes of raw data to describe the UUID</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>uuid</tt></i>:</span></td><td>the raw UUID for the secret</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new secret object or NULL in case of failure. If the secret cannot be found, then <a href="libvirt-virterror.html#VIR_ERR_NO_SECRET">VIR_ERR_NO_SECRET</a> error is raised.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virSecretLookupByUUIDString"/>virSecretLookupByUUIDString ()</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> virSecretLookupByUUIDString (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * uuidstr)<br/>
</pre><p>Try to lookup a secret on the given hypervisor based on its UUID.</p>
</pre><p>Try to lookup a secret on the given hypervisor based on its UUID. Uses the printable string value to describe the UUID</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>uuidstr</tt></i>:</span></td><td>the string UUID for the secret</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new secret object or NULL in case of failure. If the secret cannot be found, then <a href="libvirt-virterror.html#VIR_ERR_NO_SECRET">VIR_ERR_NO_SECRET</a> error is raised.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virSecretLookupByUsage"/>virSecretLookupByUsage ()</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> virSecretLookupByUsage (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> int usageType, <br/> const char * usageID)<br/>
</pre><p>Try to lookup a secret on the given hypervisor based on its usage</p>
</pre><p>Try to lookup a secret on the given hypervisor based on its usage The usageID is unique within the set of secrets sharing the same usageType value.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>usageType</tt></i>:</span></td><td>the type of secret usage</td></tr><tr><td><span class="term"><i><tt>usageID</tt></i>:</span></td><td>identifier of the object using the secret</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new secret object or NULL in case of failure. If the secret cannot be found, then <a href="libvirt-virterror.html#VIR_ERR_NO_SECRET">VIR_ERR_NO_SECRET</a> error is raised.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virSecretRef"/>virSecretRef ()</h3><pre class="programlisting">int virSecretRef (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret)<br/>
......
......@@ -555,13 +555,13 @@ int <a href="#virStorageVolRef">virStorageVolRef</a> (<a href="libvirt-libvirt.
</pre><p>Provides the connection pointer associated with a secret. The reference counter on the connection is not increased by this call. WARNING: When writing libvirt bindings in other languages, do not use this function. Instead, store the connection and the secret object together.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>A <a href="libvirt-libvirt.html#virSecret">virSecret</a> secret</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> or NULL in case of failure.</td></tr></tbody></table></div><h3><a name="virSecretGetUUID" id="virSecretGetUUID"><code>virSecretGetUUID</code></a></h3><pre class="programlisting">int virSecretGetUUID (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret, <br /> unsigned char * uuid)<br />
</pre><p>Fetches the UUID of the secret.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>A <a href="libvirt-libvirt.html#virSecret">virSecret</a> secret</td></tr><tr><td><span class="term"><i><tt>uuid</tt></i>:</span></td><td>buffer of <a href="libvirt-libvirt.html#VIR_UUID_BUFLEN">VIR_UUID_BUFLEN</a> bytes in size</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success with the uuid buffer being filled, or -1 upon failure.</td></tr></tbody></table></div><h3><a name="virSecretGetUUIDString" id="virSecretGetUUIDString"><code>virSecretGetUUIDString</code></a></h3><pre class="programlisting">int virSecretGetUUIDString (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret, <br /> char * buf)<br />
</pre><p>Get the UUID for a secret as string. For more information about UUID see RFC4122.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>a secret object</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>pointer to a <a href="libvirt-libvirt.html#VIR_UUID_STRING_BUFLEN">VIR_UUID_STRING_BUFLEN</a> bytes array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 in case of success</td></tr></tbody></table></div><h3><a name="virSecretGetUsageID" id="virSecretGetUsageID"><code>virSecretGetUsageID</code></a></h3><pre class="programlisting">const char * virSecretGetUsageID (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret)<br />
</pre><p>Get the unique identifier of the object with which this secret is to be used</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>a secret object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string identifying the object using the secret, or NULL upon error</td></tr></tbody></table></div><h3><a name="virSecretGetUsageType" id="virSecretGetUsageType"><code>virSecretGetUsageType</code></a></h3><pre class="programlisting">int virSecretGetUsageType (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret)<br />
</pre><p>Get the type of object which uses this secret</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>a secret object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a positive integer identifying the type of object, or -1 upon error.</td></tr></tbody></table></div><h3><a name="virSecretGetValue" id="virSecretGetValue"><code>virSecretGetValue</code></a></h3><pre class="programlisting">unsigned char * virSecretGetValue (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret, <br /> size_t * value_size, <br /> unsigned int flags)<br />
</pre><p>Get the unique identifier of the object with which this secret is to be used. The format of the identifier is dependant on the usage type of the secret. For a secret with a usage type of <a href="libvirt-libvirt.html#VIR_SECRET_USAGE_TYPE_VOLUME">VIR_SECRET_USAGE_TYPE_VOLUME</a> the identifier will be a fully qualfied path name. The identifiers are intended to be unique within the set of all secrets sharing the same usage type. ie, there shall only ever be one secret for each volume path.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>a secret object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string identifying the object using the secret, or NULL upon error</td></tr></tbody></table></div><h3><a name="virSecretGetUsageType" id="virSecretGetUsageType"><code>virSecretGetUsageType</code></a></h3><pre class="programlisting">int virSecretGetUsageType (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret)<br />
</pre><p>Get the type of object which uses this secret. The returned value is one of the constants defined in the <a href="libvirt-libvirt.html#virSecretUsageType">virSecretUsageType</a> enumeration. More values may be added to this enumeration in the future, so callers should expect to see usage types they do not explicitly know about.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>a secret object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a positive integer identifying the type of object, or -1 upon error.</td></tr></tbody></table></div><h3><a name="virSecretGetValue" id="virSecretGetValue"><code>virSecretGetValue</code></a></h3><pre class="programlisting">unsigned char * virSecretGetValue (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret, <br /> size_t * value_size, <br /> unsigned int flags)<br />
</pre><p>Fetches the value of a secret.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>A <a href="libvirt-libvirt.html#virSecret">virSecret</a> connection</td></tr><tr><td><span class="term"><i><tt>value_size</tt></i>:</span></td><td>Place for storing size of the secret value</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>flags, use 0 for now</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the secret value on success, NULL on failure. The caller must free() the secret value.</td></tr></tbody></table></div><h3><a name="virSecretGetXMLDesc" id="virSecretGetXMLDesc"><code>virSecretGetXMLDesc</code></a></h3><pre class="programlisting">char * virSecretGetXMLDesc (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret, <br /> unsigned int flags)<br />
</pre><p>Fetches an XML document describing attributes of the secret.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>A <a href="libvirt-libvirt.html#virSecret">virSecret</a> secret</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>flags, use 0 for now</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XML document on success, NULL on failure. The caller must free() the XML.</td></tr></tbody></table></div><h3><a name="virSecretLookupByUUID" id="virSecretLookupByUUID"><code>virSecretLookupByUUID</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> virSecretLookupByUUID (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const unsigned char * uuid)<br />
</pre><p>Try to lookup a secret on the given hypervisor based on its UUID.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>uuid</tt></i>:</span></td><td>the raw UUID for the secret</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new secret object or NULL in case of failure. If the secret cannot be found, then <a href="libvirt-virterror.html#VIR_ERR_NO_SECRET">VIR_ERR_NO_SECRET</a> error is raised.</td></tr></tbody></table></div><h3><a name="virSecretLookupByUUIDString" id="virSecretLookupByUUIDString"><code>virSecretLookupByUUIDString</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> virSecretLookupByUUIDString (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * uuidstr)<br />
</pre><p>Try to lookup a secret on the given hypervisor based on its UUID.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>uuidstr</tt></i>:</span></td><td>the string UUID for the secret</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new secret object or NULL in case of failure. If the secret cannot be found, then <a href="libvirt-virterror.html#VIR_ERR_NO_SECRET">VIR_ERR_NO_SECRET</a> error is raised.</td></tr></tbody></table></div><h3><a name="virSecretLookupByUsage" id="virSecretLookupByUsage"><code>virSecretLookupByUsage</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> virSecretLookupByUsage (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> int usageType, <br /> const char * usageID)<br />
</pre><p>Try to lookup a secret on the given hypervisor based on its usage</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>usageType</tt></i>:</span></td><td>the type of secret usage</td></tr><tr><td><span class="term"><i><tt>usageID</tt></i>:</span></td><td>identifier of the object using the secret</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new secret object or NULL in case of failure. If the secret cannot be found, then <a href="libvirt-virterror.html#VIR_ERR_NO_SECRET">VIR_ERR_NO_SECRET</a> error is raised.</td></tr></tbody></table></div><h3><a name="virSecretRef" id="virSecretRef"><code>virSecretRef</code></a></h3><pre class="programlisting">int virSecretRef (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret)<br />
</pre><p>Try to lookup a secret on the given hypervisor based on its UUID. Uses the 16 bytes of raw data to describe the UUID</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>uuid</tt></i>:</span></td><td>the raw UUID for the secret</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new secret object or NULL in case of failure. If the secret cannot be found, then <a href="libvirt-virterror.html#VIR_ERR_NO_SECRET">VIR_ERR_NO_SECRET</a> error is raised.</td></tr></tbody></table></div><h3><a name="virSecretLookupByUUIDString" id="virSecretLookupByUUIDString"><code>virSecretLookupByUUIDString</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> virSecretLookupByUUIDString (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * uuidstr)<br />
</pre><p>Try to lookup a secret on the given hypervisor based on its UUID. Uses the printable string value to describe the UUID</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>uuidstr</tt></i>:</span></td><td>the string UUID for the secret</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new secret object or NULL in case of failure. If the secret cannot be found, then <a href="libvirt-virterror.html#VIR_ERR_NO_SECRET">VIR_ERR_NO_SECRET</a> error is raised.</td></tr></tbody></table></div><h3><a name="virSecretLookupByUsage" id="virSecretLookupByUsage"><code>virSecretLookupByUsage</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> virSecretLookupByUsage (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> int usageType, <br /> const char * usageID)<br />
</pre><p>Try to lookup a secret on the given hypervisor based on its usage The usageID is unique within the set of secrets sharing the same usageType value.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>usageType</tt></i>:</span></td><td>the type of secret usage</td></tr><tr><td><span class="term"><i><tt>usageID</tt></i>:</span></td><td>identifier of the object using the secret</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new secret object or NULL in case of failure. If the secret cannot be found, then <a href="libvirt-virterror.html#VIR_ERR_NO_SECRET">VIR_ERR_NO_SECRET</a> error is raised.</td></tr></tbody></table></div><h3><a name="virSecretRef" id="virSecretRef"><code>virSecretRef</code></a></h3><pre class="programlisting">int virSecretRef (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret)<br />
</pre><p>Increment the reference count on the secret. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virSecretFree">virSecretFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a secret would increment the reference count.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>the secret to hold a reference on</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virSecretSetValue" id="virSecretSetValue"><code>virSecretSetValue</code></a></h3><pre class="programlisting">int virSecretSetValue (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret, <br /> const unsigned char * value, <br /> size_t value_size, <br /> unsigned int flags)<br />
</pre><p>Sets the value of a secret.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>A <a href="libvirt-libvirt.html#virSecret">virSecret</a> secret</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>Value of the secret</td></tr><tr><td><span class="term"><i><tt>value_size</tt></i>:</span></td><td>Size of the value</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>flags, use 0 for now</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success, -1 on failure.</td></tr></tbody></table></div><h3><a name="virSecretUndefine" id="virSecretUndefine"><code>virSecretUndefine</code></a></h3><pre class="programlisting">int virSecretUndefine (<a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> secret)<br />
</pre><p>Deletes the specified secret. This does not free the associated <a href="libvirt-libvirt.html#virSecretPtr">virSecretPtr</a> object.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>secret</tt></i>:</span></td><td>A <a href="libvirt-libvirt.html#virSecret">virSecret</a> secret</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success, -1 on failure.</td></tr></tbody></table></div><h3><a name="virStoragePoolBuild" id="virStoragePoolBuild"><code>virStoragePoolBuild</code></a></h3><pre class="programlisting">int virStoragePoolBuild (<a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> pool, <br /> unsigned int flags)<br />
......
......@@ -1853,12 +1853,12 @@ see note above'/>
<arg name='buf' type='char *' info='pointer to a VIR_UUID_STRING_BUFLEN bytes array'/>
</function>
<function name='virSecretGetUsageID' file='libvirt' module='libvirt'>
<info>Get the unique identifier of the object with which this secret is to be used</info>
<info>Get the unique identifier of the object with which this secret is to be used. The format of the identifier is dependant on the usage type of the secret. For a secret with a usage type of VIR_SECRET_USAGE_TYPE_VOLUME the identifier will be a fully qualfied path name. The identifiers are intended to be unique within the set of all secrets sharing the same usage type. ie, there shall only ever be one secret for each volume path.</info>
<return type='const char *' info='a string identifying the object using the secret, or NULL upon error'/>
<arg name='secret' type='virSecretPtr' info='a secret object'/>
</function>
<function name='virSecretGetUsageType' file='libvirt' module='libvirt'>
<info>Get the type of object which uses this secret</info>
<info>Get the type of object which uses this secret. The returned value is one of the constants defined in the virSecretUsageType enumeration. More values may be added to this enumeration in the future, so callers should expect to see usage types they do not explicitly know about.</info>
<return type='int' info='a positive integer identifying the type of object, or -1 upon error.'/>
<arg name='secret' type='virSecretPtr' info='a secret object'/>
</function>
......@@ -1876,19 +1876,19 @@ see note above'/>
<arg name='flags' type='unsigned int' info='flags, use 0 for now'/>
</function>
<function name='virSecretLookupByUUID' file='libvirt' module='libvirt'>
<info>Try to lookup a secret on the given hypervisor based on its UUID.</info>
<info>Try to lookup a secret on the given hypervisor based on its UUID. Uses the 16 bytes of raw data to describe the UUID</info>
<return type='virSecretPtr' info='a new secret object or NULL in case of failure. If the secret cannot be found, then VIR_ERR_NO_SECRET error is raised.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='uuid' type='const unsigned char *' info='the raw UUID for the secret'/>
</function>
<function name='virSecretLookupByUUIDString' file='libvirt' module='libvirt'>
<info>Try to lookup a secret on the given hypervisor based on its UUID.</info>
<info>Try to lookup a secret on the given hypervisor based on its UUID. Uses the printable string value to describe the UUID</info>
<return type='virSecretPtr' info='a new secret object or NULL in case of failure. If the secret cannot be found, then VIR_ERR_NO_SECRET error is raised.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='uuidstr' type='const char *' info='the string UUID for the secret'/>
</function>
<function name='virSecretLookupByUsage' file='libvirt' module='libvirt'>
<info>Try to lookup a secret on the given hypervisor based on its usage</info>
<info>Try to lookup a secret on the given hypervisor based on its usage The usageID is unique within the set of secrets sharing the same usageType value.</info>
<return type='virSecretPtr' info='a new secret object or NULL in case of failure. If the secret cannot be found, then VIR_ERR_NO_SECRET error is raised.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='usageType' type='int' info='the type of secret usage'/>
......
......@@ -2210,6 +2210,7 @@
<ref name='virNetworkRef'/>
<ref name='virNodeDeviceRef'/>
<ref name='virSecretGetUUIDString'/>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretRef'/>
<ref name='virStoragePoolRef'/>
<ref name='virStorageVolRef'/>
......@@ -2374,6 +2375,9 @@
<word name='Migrate'>
<ref name='virDomainMigrate'/>
</word>
<word name='More'>
<ref name='virSecretGetUsageType'/>
</word>
</letter>
<letter name='N'>
<word name='NFS'>
......@@ -2699,6 +2703,10 @@
<ref name='virDomainSave'/>
<ref name='virDomainSuspend'/>
</word>
<word name='Uses'>
<ref name='virSecretLookupByUUID'/>
<ref name='virSecretLookupByUUIDString'/>
</word>
</letter>
</chunk>
<chunk name='chunk2'>
......@@ -2738,6 +2746,9 @@
<word name='VIR_MIGRATE_LIVE'>
<ref name='virDomainMigrate'/>
</word>
<word name='VIR_SECRET_USAGE_TYPE_VOLUME'>
<ref name='virSecretGetUsageID'/>
</word>
<word name='VIR_UUID_BUFLEN'>
<ref name='virDomainGetUUID'/>
<ref name='virNetworkGetUUID'/>
......@@ -2799,6 +2810,7 @@
<ref name='virNetworkGetUUIDString'/>
<ref name='virNodeGetInfo'/>
<ref name='virSecretGetUUIDString'/>
<ref name='virSecretGetUsageType'/>
<ref name='virStoragePoolGetInfo'/>
<ref name='virStorageVolGetInfo'/>
</word>
......@@ -2856,6 +2868,9 @@
<word name='add'>
<ref name='virDomainShutdown'/>
</word>
<word name='added'>
<ref name='virSecretGetUsageType'/>
</word>
<word name='adding'>
<ref name='virEventAddTimeoutFunc'/>
</word>
......@@ -2917,6 +2932,7 @@
<ref name='virNodeDeviceGetXMLDesc'/>
<ref name='virNodeDeviceRef'/>
<ref name='virSecretDefineXML'/>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretRef'/>
<ref name='virStoragePoolFree'/>
<ref name='virStoragePoolGetXMLDesc'/>
......@@ -3332,6 +3348,7 @@
<ref name='virDomainCreateLinux'/>
<ref name='virDomainCreateXML'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virSecretGetUsageType'/>
</word>
<word name='calling'>
<ref name='virConnectDomainEventRegister'/>
......@@ -3540,6 +3557,7 @@
<word name='constants'>
<ref name='_virConnectCredential'/>
<ref name='virEventHandleCallback'/>
<ref name='virSecretGetUsageType'/>
</word>
<word name='containing'>
<ref name='virConnectFindStoragePoolSources'/>
......@@ -3703,6 +3721,7 @@
<ref name='virEventTimeoutCallback'/>
<ref name='virInterfaceFree'/>
<ref name='virNetworkFree'/>
<ref name='virSecretLookupByUUID'/>
<ref name='virSetErrorFunc'/>
</word>
<word name='datafile'>
......@@ -3747,6 +3766,7 @@
<ref name='virInterfaceUndefine'/>
<ref name='virNetworkCreate'/>
<ref name='virNetworkUndefine'/>
<ref name='virSecretGetUsageType'/>
</word>
<word name='defining'>
<ref name='virConnectGetCapabilities'/>
......@@ -3766,6 +3786,7 @@
<word name='dependant'>
<ref name='virConnectDomainXMLFromNative'/>
<ref name='virConnectDomainXMLToNative'/>
<ref name='virSecretGetUsageID'/>
</word>
<word name='depends'>
<ref name='virNodeDeviceReset'/>
......@@ -3773,6 +3794,10 @@
<word name='deprecated'>
<ref name='_virError'/>
</word>
<word name='describe'>
<ref name='virSecretLookupByUUID'/>
<ref name='virSecretLookupByUUIDString'/>
</word>
<word name='described'>
<ref name='virDomainGetVcpus'/>
</word>
......@@ -3999,6 +4024,7 @@
<ref name='virNetworkRef'/>
<ref name='virNodeDeviceRef'/>
<ref name='virNodeGetCellsFreeMemory'/>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretRef'/>
<ref name='virStoragePoolRef'/>
<ref name='virStorageVolRef'/>
......@@ -4044,6 +4070,9 @@
<word name='entries'>
<ref name='virNodeGetCellsFreeMemory'/>
</word>
<word name='enumeration'>
<ref name='virSecretGetUsageType'/>
</word>
<word name='environment'>
<ref name='virConnectOpen'/>
<ref name='virConnectOpenAuth'/>
......@@ -4080,6 +4109,9 @@
<ref name='virEventTimeoutCallback'/>
<ref name='virEventUpdateHandleFunc'/>
</word>
<word name='ever'>
<ref name='virSecretGetUsageID'/>
</word>
<word name='exact'>
<ref name='virNodeDeviceReset'/>
</word>
......@@ -4104,6 +4136,9 @@
<ref name='virDomainDefineXML'/>
<ref name='virDomainMigrate'/>
</word>
<word name='expect'>
<ref name='virSecretGetUsageType'/>
</word>
<word name='expected'>
<ref name='_virNodeInfo'/>
</word>
......@@ -4112,6 +4147,7 @@
</word>
<word name='explicitly'>
<ref name='virDomainDefineXML'/>
<ref name='virSecretGetUsageType'/>
<ref name='virStoragePoolDefineXML'/>
</word>
<word name='export'>
......@@ -4256,6 +4292,7 @@
<ref name='virGetVersion'/>
<ref name='virInterfaceGetMACString'/>
<ref name='virInterfaceLookupByMACString'/>
<ref name='virSecretGetUsageID'/>
<ref name='virStoragePoolGetXMLDesc'/>
</word>
<word name='freeMems'>
......@@ -4306,6 +4343,9 @@
<ref name='virDomainResume'/>
<ref name='virDomainSuspend'/>
</word>
<word name='fully'>
<ref name='virSecretGetUsageID'/>
</word>
<word name='functionalities'>
<ref name='virConnectOpenReadOnly'/>
</word>
......@@ -4317,6 +4357,7 @@
<ref name='virDomainSuspend'/>
</word>
<word name='future'>
<ref name='virSecretGetUsageType'/>
<ref name='virStoragePoolBuild'/>
<ref name='virStoragePoolCreate'/>
<ref name='virStoragePoolCreateXML'/>
......@@ -4540,6 +4581,9 @@
<ref name='virSecretGetUsageID'/>
<ref name='virSecretLookupByUsage'/>
</word>
<word name='identifiers'>
<ref name='virSecretGetUsageID'/>
</word>
<word name='identifying'>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretGetUsageType'/>
......@@ -4697,6 +4741,9 @@
<word name='integer'>
<ref name='virSecretGetUsageType'/>
</word>
<word name='intended'>
<ref name='virSecretGetUsageID'/>
</word>
<word name='interaction'>
<ref name='virConnectClose'/>
</word>
......@@ -4780,6 +4827,9 @@
<ref name='virDomainSetMemory'/>
<ref name='virNodeGetFreeMemory'/>
</word>
<word name='know'>
<ref name='virSecretGetUsageType'/>
</word>
<word name='knowing'>
<ref name='virDomainShutdown'/>
</word>
......@@ -5432,6 +5482,8 @@
<ref name='virDomainMigrate'/>
<ref name='virNetworkCreateXML'/>
<ref name='virNodeGetCellsFreeMemory'/>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretGetUsageType'/>
</word>
<word name='ones'>
<ref name='virConnectFindStoragePoolSources'/>
......@@ -5442,6 +5494,7 @@
<ref name='virConnectGetVersion'/>
<ref name='virDomainGetInfo'/>
<ref name='virResetLastError'/>
<ref name='virSecretGetUsageID'/>
</word>
<word name='oo_req'>
<ref name='_virDomainBlockStats'/>
......@@ -5616,6 +5669,7 @@
<ref name='virDomainMigrate'/>
<ref name='virDomainRestore'/>
<ref name='virDomainSave'/>
<ref name='virSecretGetUsageID'/>
<ref name='virStorageVolGetPath'/>
<ref name='virStorageVolLookupByPath'/>
</word>
......@@ -5720,6 +5774,9 @@
<ref name='virNodeDeviceReAttach'/>
<ref name='virNodeDeviceReset'/>
</word>
<word name='printable'>
<ref name='virSecretLookupByUUIDString'/>
</word>
<word name='printing'>
<ref name='virSetErrorFunc'/>
</word>
......@@ -5797,6 +5854,9 @@
</chunk>
<chunk name='chunk9'>
<letter name='q'>
<word name='qualfied'>
<ref name='virSecretGetUsageID'/>
</word>
<word name='querying'>
<ref name='virConnectFindStoragePoolSources'/>
</word>
......@@ -6103,6 +6163,7 @@
<ref name='virNetworkGetXMLDesc'/>
<ref name='virNodeGetCellsFreeMemory'/>
<ref name='virNodeGetFreeMemory'/>
<ref name='virSecretGetUsageType'/>
</word>
<word name='returns'>
<ref name='VIR_CPU_MAPLEN'/>
......@@ -6174,6 +6235,8 @@
<ref name='virInterfaceGetMACString'/>
<ref name='virInterfaceGetName'/>
<ref name='virNetworkGetName'/>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretLookupByUsage'/>
<ref name='virStorageVolGetKey'/>
</word>
<word name='save'>
......@@ -6197,6 +6260,8 @@
<word name='secrets'>
<ref name='virConnectListSecrets'/>
<ref name='virConnectNumOfSecrets'/>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretLookupByUsage'/>
</word>
<word name='security'>
<ref name='virDomainGetSecurityLabel'/>
......@@ -6211,6 +6276,7 @@
<ref name='virInterfaceGetMACString'/>
<ref name='virNetworkGetUUIDString'/>
<ref name='virSecretGetUUIDString'/>
<ref name='virSecretGetUsageType'/>
</word>
<word name='seen'>
<ref name='virDomainMigrate'/>
......@@ -6241,6 +6307,8 @@
<ref name='virInterfaceDestroy'/>
<ref name='virInterfaceGetXMLDesc'/>
<ref name='virNetworkGetXMLDesc'/>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretLookupByUsage'/>
<ref name='virStoragePoolGetXMLDesc'/>
</word>
<word name='sets'>
......@@ -6257,10 +6325,15 @@
<ref name='virInterfaceRef'/>
<ref name='virNetworkRef'/>
<ref name='virNodeDeviceRef'/>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretRef'/>
<ref name='virStoragePoolRef'/>
<ref name='virStorageVolRef'/>
</word>
<word name='sharing'>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretLookupByUsage'/>
</word>
<word name='should'>
<ref name='virConnectClose'/>
<ref name='virConnectOpen'/>
......@@ -6281,6 +6354,7 @@
<ref name='virNetworkFree'/>
<ref name='virNetworkSetAutostart'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virSecretGetUsageType'/>
</word>
<word name='show'>
<ref name='_virConnectCredential'/>
......@@ -6644,6 +6718,7 @@
<ref name='virInterfaceRef'/>
<ref name='virNetworkRef'/>
<ref name='virNodeDeviceRef'/>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretRef'/>
<ref name='virSetErrorFunc'/>
<ref name='virStoragePoolRef'/>
......@@ -6654,6 +6729,9 @@
<ref name='virInterfaceFree'/>
<ref name='virNetworkFree'/>
</word>
<word name='they'>
<ref name='virSecretGetUsageType'/>
</word>
<word name='those'>
<ref name='virConnectFindStoragePoolSources'/>
<ref name='virSetErrorFunc'/>
......@@ -6751,12 +6829,14 @@
<ref name='virDomainGetSchedulerType'/>
<ref name='virGetVersion'/>
<ref name='virNodeDeviceReset'/>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretGetUsageType'/>
<ref name='virSecretLookupByUsage'/>
</word>
<word name='types'>
<ref name='virConnectFindStoragePoolSources'/>
<ref name='virDomainMigrate'/>
<ref name='virSecretGetUsageType'/>
</word>
<word name='typical'>
<ref name='virStorageVolCreateXMLFrom'/>
......@@ -6804,6 +6884,7 @@
<word name='unique'>
<ref name='virNodeDeviceLookupByName'/>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretLookupByUsage'/>
<ref name='virStoragePoolGetName'/>
<ref name='virStoragePoolGetUUID'/>
<ref name='virStoragePoolGetUUIDString'/>
......@@ -6892,9 +6973,17 @@
<ref name='virDomainShutdown'/>
</word>
<word name='usage'>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretGetUsageType'/>
<ref name='virSecretLookupByUsage'/>
<ref name='virStoragePoolGetInfo'/>
</word>
<word name='usageID'>
<ref name='virSecretLookupByUsage'/>
</word>
<word name='usageType'>
<ref name='virSecretLookupByUsage'/>
</word>
<word name='use'>
<ref name='virConnCopyLastError'/>
<ref name='virConnGetLastError'/>
......@@ -6995,6 +7084,7 @@
<ref name='_virConnectAuth'/>
<ref name='virDomainGetSchedulerParameters'/>
<ref name='virGetVersion'/>
<ref name='virSecretGetUsageType'/>
</word>
<word name='variable'>
<ref name='virConnectOpen'/>
......@@ -7204,6 +7294,9 @@
<word name='virSecretPtr'>
<ref name='virSecretUndefine'/>
</word>
<word name='virSecretUsageType'>
<ref name='virSecretGetUsageType'/>
</word>
<word name='virSecurityLabel'>
<ref name='VIR_SECURITY_LABEL_BUFLEN'/>
<ref name='virDomainGetSecurityLabel'/>
......@@ -7370,6 +7463,8 @@
<ref name='virDomainBlockPeek'/>
<ref name='virDomainBlockStats'/>
<ref name='virDomainInterfaceStats'/>
<ref name='virSecretGetUsageID'/>
<ref name='virSecretLookupByUsage'/>
<ref name='virStoragePoolNumOfVolumes'/>
<ref name='virStorageVolCreateXML'/>
<ref name='virStorageVolGetName'/>
......
......@@ -76,6 +76,229 @@
<p>Here is the list of official releases, however since it is early on in the
development of libvirt, it is preferable when possible to just use the <a href="downloads.html">CVS version or snapshot</a>, contact the mailing list
and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<h3>0.7.1: Sep 15 2009</h3>
<ul><li>New features:
Add support for encrypted (qcow) volume creation. (Miloslav Trma&#269;),
Secret manipulation public API (Miloslav Trma&#269;),
Multipath storage support module (Dave Allan),
VBox add Storage Volume support (Pritesh Kothari),
Support configuration of huge pages in guests (Daniel P. Berrange),
Support new PolicyKit 1.0 API (Daniel P. Berrange),
Compressed save image format for Qemu (Chris Lalancette, Charles Duffy
and Jim Meyering),
QEmu add host PCI device hotplug support (Mark McLoughlin)
</li><li>Documentation:
Minor comment changes (Laine Stump),
Fix up virNodeGetCellsFreeMemory (Chris Lalancette),
Fix some typos and remove unhelpful acronyms in QEMU docs (Daniel P. Berrange),
Add documentation about the QEMU driver security features (Daniel P. Berrange),
Remove 'the-the' typo in docs (Daniel P. Berrange),
Fix some URLs in virsh manpage (Mark McLoughlin),
Add link to AbiCloud web management system (Daniel P. Berrange),
Update logging documentation (Amy Griffis)
</li><li>Portability:
Fix win32 platform build (Daniel P. Berrange)
</li><li>Bug fixes:
VBox bug when starting machine from old versions (Pritesh Kothari),
ESX avoid potential leaks (Matthias Bolte),
Fix more OOM handling bugs (Daniel P. Berrange),
Fix logging buffer overrun read (Daniel P. Berrange),
Fix misc thread locking bugs / bogus warnings (Daniel P. Berrange),
Fix regression from "Avoid polling on FDs with no events" (Chris Lalancette),
Close logfile fd after spawning qemu (Ryota Ozaki),
Check for libssh2 &gt;= 1.0 for phy driver (Maximilian Wilhelm),
Avoid another leak in src/xend_internal.c (Matthias Bolte),
Avoid a leak in xenDaemonLookupByID (Matthias Bolte),
VBox fix minor bugs in display and added OOM checks (Pritesh Kothari),
Some close/fclose/closedir calls are missing (Matthias Bolte),
lxc_container.c: avoid a leak on error paths (Jim Meyering),
Fix several memory leaks (Ryota Ozaki),
Fix a memory leak in virsh (Laine Stump),
Fix ID field in virDomainPtr after starting Xen VM (Daniel P. Berrange),
Fix memory leak of monitor character device (Daniel P. Berrange),
Automatically set correct ownership of QEMU state directories (Daniel P. Berrange),
Avoid polling on FDs with no events enabled (Daniel P. Berrange),
esx_vi: return -1 upon failure, as intended (Matthias Bolte),
python: let libvirt_virConnectDomainEventCallback indicate success (Jim Meyering),
uml_conf.c: don't return an uninitialized pointer (Jim Meyering),
storage_backend.c: assure clang that inputvol can't be NULL (Jim Meyering),
libvir.c: avoid NULL dereference in virStoragePoolSetAutostart (Jim Meyering),
lxc: avoid NULL dereference upon getmntent failure (Jim Meyering),
storage_backend_fs: avoid NULL dereference on opendir failure (Jim Meyering),
Fix bugs in virDomainMigrate v2 code. (Chris Lalancette),
VMware ESX: Don't warn on some query parameter (Matthias Bolte),
Don't blindly reorder disk drives (Daniel P. Berrange),
Fix sexpr2string() to handle empty list. (Jim Fehlig),
Fix driver entry table for UML numa APIs (Daniel P. Berrange),
Fix crash in virsh vol-key command (Pritesh Kothari),
517157 fix selinux problem with images on NFS (Darryl L. Pierce),
Fix phypOpen() escape_specialcharacters (Mattias Bolte),
Power Hypervisor: fix potential segfault (Mattias Bolte),
Fix bridge/tap system error reporting (Mark McLoughlin),
Reset PCI host devices after hot-unplug (Mark McLoughlin),
Reset unmanaged PCI host devices before hotplug (Mark McLoughlin),
Fix up connection reference counting. (Chris Lalancette),
Fix LXC driver crash when kernel doesn't support clone (Daniel P. Berrange),
Make LXC / UML drivers robust against NUMA topology brokenness (Daniel P. Berrange),
Run 'cont' on successful migration finish. (Chris Lalancette),
Fix QEMU domain status after restore. (Chris Lalancette),
Handle kernels with no ipv6 support (Mark McLoughlin),
Set perms on /var/lib/libvirt/boot to 0711 (Mark McLoughlin),
chown kernel/initrd before spawning qemu (Mark McLoughlin),
Several fixes to libvirtd's log setup (Amy Griffis),
Fix memleak if esxOpen fails (Matthias Bolte)
</li><li>Improvement:
support lzop save compression for qemu (Charles Duffy),
VBox 3.0.6 API change support (Pritesh Kothari),
Add UUID definition required by storage encryption import (Daniel P. Berrange),
Make secrets RNG more strict (Daniel P. Berrange),
Fill in secret UUID for qcow encryption (Daniel P. Berrange),
Add usage type/id as a public API property of virSecret (Daniel P. Berrange),
Fix UUID handling in secrets/storage encryption APIs (Daniel P. Berrange),
Save vcpuinfo in status file (Daniel P. Berrange),
Restart libvirtd upon RPM upgrade (Daniel P. Berrange),
Add support for qcow encrypted volumes to qemu. (Miloslav Trma&#269;),
Provide missing passphrase when creating a volume. (Miloslav Trma&#269;),
Add virsh commands for secrets APIs (Miloslav Trma&#269;),
Local file implementation of secret driver API (Miloslav Trma&#269;),
Mask out flags used internally for virSecretGetValue (Miloslav Trma&#269;),
Add &lt;usage&gt; to &lt;secret&gt; docs (Miloslav Trma&#269;),
also allow use of XZ for Qemu image compression (Jim Meyering),
Support relabelling of USB and PCI devices (Daniel P. Berrange),
Add helper APIs for iterating over PCI device resource files (Daniel P. Berrange),
Add helper module for dealing with USB host devices (Daniel P. Berrange),
Test that domain-specific qemu machine types are used correctly (Mark McLoughlin),
Probe machine types from kvm binary too (Mark McLoughlin),
Look up machine types from all domains in qemudGetOldMachines() (Mark McLoughlin),
Test qemu machine aliases (Mark McLoughlin),
Add qemu -help test data for qemu-kvm-0.11.0-rc2 (Mark McLoughlin),
Add a more featureful qemu capabilities test data (Mark McLoughlin),
Add arm arch to capabilities schema (Mark McLoughlin),
Update capabilities schema to allow multiple machines per domain (Mark McLoughlin),
Add esx and tcp migration uri transports to capabilities schema (Mark McLoughlin),
Reintroduce support for lzop compression (Charles Duffy),
build: update gnulib submodule to latest (Jim Meyering),
Add flags and requires for Multipath storage (Daniel Veillard),
ESX raise error if UUID parse failed (Matthias Bolte),
ESX add domain undefine based on esxVI_UnregisterVM (Matthias Bolte),
ESX add esxGetCapabilities() with basic defaults (Matthias Bolte),
Switch Power Hypervisor to libssh2 (Eduardo Otubo),
Allow libvirtd to RPC to external libvirtd (Chris Lalancette),
Add support for setting disk drive serial numbers (Daniel P. Berrange),
VBox support for defining/dumping video devices (Pritesh Kothari),
Generic parsing support for video acceleration (Pritesh Kothari),
VMware ESX: Allow ethernet address type 'vpx' (Matthias Bolte),
Support for getting/setting number of cpus in VBox (Pritesh Kothari),
Make handling of monitor prompts more general. (Miloslav Trma&#269;),
Attach encryption information to virDomainDiskDef. (Miloslav Trma&#269;),
Recognize encryption format of qcow volumes. (Miloslav Trma&#269;),
Attach encryption information to virStorageVolDef. (Miloslav Trma&#269;),
Add volume encryption information handling. (Miloslav Trma&#269;),
Secret manipulation API docs refresh and wire up python generator (Miloslav Trma&#269;),
Secret manipulation remote client (Miloslav Trma&#269;),
Secret manipulation libvirtd wire protocol and remote dispatcher (Miloslav Trma&#269;),
Secret manipulation public API implementation (Miloslav Trma&#269;),
Secret manipulation internal API (Miloslav Trma&#269;),
Add test for recently fixed crash with latest XenD (Daniel P. Berrange),
Don't expose 'vnet%d' to the user (Mark McLoughlin),
Maintain a list of active PCI hostdevs and use it in pciResetDevice() (Mark McLoughlin),
Simplify PCI hostdev prepare/re-attach using a pciDeviceList type (Mark McLoughlin),
Use pci_addr=auto with QEMU's pci_add monitor command (Mark McLoughlin),
Check active domain hostdevs before allowing PCI reset (Mark McLoughlin),
Allow pciResetDevice() to reset multiple devices (Mark McLoughlin),
Improve PCI host device reset error message (Mark McLoughlin),
Reset and re-attach PCI host devices on guest shutdown (Mark McLoughlin),
Allow PM reset on multi-function PCI devices (Mark McLoughlin),
Detect KVM's PCI device assignment support (Mark McLoughlin),
Split virDomainMigrate into functions. (Chris Lalancette),
Consolidate code for parsing the logging env (Amy Griffis)
</li><li>Cleanups:
Remove accidentally added UUID re-definition in storage schema (Daniel P. Berrange),
ESX cleanup of CPU model strings (Matthias Bolte),
Fix use of dlopen modules (Daniel P. Berrange),
Consolidate "cont" into qemudMonitorSendCont() (Miloslav Trma&#269;),
Cleanup sec driver error reporting to use virReportSystemError (Daniel P. Berrange),
Port QEMU driver to use USB/PCI device helpers (Daniel P. Berrange),
Simplify and fix qemudCanonicalizeMachine() (Mark McLoughlin),
Split up qemudGetOldMachines() (Mark McLoughlin),
Re-factor qemu test machine allocation code (Mark McLoughlin),
Canonicalize the qemu machine type in qemuxml2argvtest (Mark McLoughlin),
Dump qemu driver capabilities if test debugging enabled (Mark McLoughlin),
Fix formatting of machine types in capabilities XML (Mark McLoughlin),
qemu_driver.c: factor out more duplication (Jim Meyering),
Deprecate lzma and lzop in favor of xz, add dep (Daniel Veillard),
qemu_driver.c: factor out duplication in compression-type handling (Jim Meyering),
openvz_conf.c: remove dead store to "p"; use strchrnul (Jim Meyering),
Remove some tabs used for indent (Daniel Veillard),
Updated a number of localizations and regenerated (Daniel Veillard),
Add a missing comment (Miloslav Trma&#269;),
Fix a pasto in storage_encryption_conf.c (Miloslav Trma&#269;),
xm_internal.c: remove four useless comparisons after strchr (Jim Meyering),
xm_internal.c: remove dead increment of "data" (Jim Meyering),
network_driver.c: remove dead store to "err" (Jim Meyering),
iptables.c: remove dead store to "s" (Jim Meyering),
util.c: avoid dead store to "flag" (Jim Meyering),
domain_conf.c: remove two dead stores (Jim Meyering),
xm_internal.c: remove two ret=... dead stores (Jim Meyering),
xm_internal.c: remove dead stores of local, "type" (Jim Meyering),
network_conf.c: remove dead store to "err" (Jim Meyering),
openvz_driver.c: avoid dead store to "err" (Jim Meyering),
xend_internal.c: Remove two dead stores to "ret" (Jim Meyering),
storage_driver.c: remove two dead stores to "backend" (Jim Meyering),
qemu_conf.c: add a comment suggesting why we leave a dead-store (Jim Meyering),
hash.c: remove a dead store (Jim Meyering),
interface_conf.c: remove a dead-store and declaration (Jim Meyering),
eventtest.c: detect write failure and avoid dead stores (Jim Meyering),
openvz_conf.c: Remove dead store to copy_fd (Jim Meyering),
storage_backend_logical.c: appease clang: remove useless increment (Jim Meyering),
ESX simplify SOAP request and response handling (Matthias Bolte),
ESX use virXPathNode*() to simplify XPath handling (Matthias Bolte),
ESX: make esxVI_GetVirtualMachineIdentity() robust (Matthias Bolte),
ESX: Fix VMX path parsing and URL encoding (Matthias Bolte),
VBox driver cleanups (Pritesh Kothari),
PHYP driver cleanups (Daniel Veillard),
Move QEMU monitor socket in /var/lib/libvirt/qemu (Daniel P. Berrange),
xen_internal.c: remove two unused local variables (Jim Meyering),
mdns.c: remove dead initialization (Jim Meyering),
node_device_conf.c: remove dead initialization (Jim Meyering),
openvz_conf.c: don't use undefined local, "net" (Jim Meyering),
test.c: don't use undefined local, "def" (Jim Meyering),
remote_internal.c: appease clang (Jim Meyering),
infra: define ATTRIBUTE_NONNULL to mark non-NULL parameters (Jim Meyering),
lxc: don't unlink(NULL) in main (Jim Meyering),
storage_conf.c: avoid overflow upon use of "z" or "Z" (zebi) suffix (Jim Meyering),
VBox cleanup and update of networking shutdown (Pritesh Kothari),
Box cleanup and update of networking XML functions (Pritesh Kothari),
Fix misc OOM bugs (Daniel P. Berrange),
Misc fixes to secrets API code (Daniel P. Berrange),
Only add glusterfs dep for Fedora &gt;= 11 (Daniel P. Berrange),
Remove redundant base64 include file (Daniel P. Berrange),
Don't assume buffered output echoes the command. (Miloslav Trma&#269;),
Update chinese, polish and spanish localizations (Daniel Veillard),
OpenVZ: accept NULL as type for GetMaxVCPUs. (Chris Lalancette),
Remove use of strncpy in qemudExtractMonitorPath. (Chris Lalancette),
Refactor policycode auth code to avoid compiler warnings (Daniel P. Berrange),
spec file: add URL to Source tag (Mark McLoughlin),
Small fixes for qemu save compression. (Chris Lalancette),
Fix thinko in PCI hostdev detach (Mark McLoughlin),
Revert changes to allow pciResetDevice() reset multiple devices (Mark McLoughlin),
Fix list updating after disk/network/hostdev hot-unplug (Mark McLoughlin),
Re-name remote_internal.c:driver to remote_driver (Mark McLoughlin),
Cosmetic change to 'virsh nodedev-list --tree' output (Mark McLoughlin),
Re-factor hostdev hotplug (Mark McLoughlin),
Remove a duplicated assignment in Xen PCI parsing. (Chris Lalancette),
Fix up a few minor indentation issues. (Chris Lalancette),
Fix phyp escape_specialcharacters. (Chris Lalancette),
Make openvzGetVPSUUID take a len. (Chris Lalancette),
Minor cleanup of error path for c_oneVmInfo. (Chris Lalancette),
Fix up a whitespace in comments in src/console.c (Chris Lalancette),
Fix up a stray whitespace in virHashGrow. (Chris Lalancette),
Remove unsafe strncpy from esx_vmx.c (Chris Lalancette),
Cleanup VIR_LOG_DEBUG parsing in eventtest (Amy Griffis),
Tighten libvirt's parsing of logging env (Amy Griffis),
Cleanup structure name naming (Matthias Bolte),
Add proper OOM reporting for esxDomainGetOSType (Matthias Bolte)
</li></ul>
<h3>0.7.0: Aug 5 2009</h3>
<ul><li>New features: Interface implementation based on netcf (Laine Stump,
Daniel Veillard), Add new net filesystem glusterfs (Harshavardhana),
......
......@@ -5,6 +5,236 @@
<p>Here is the list of official releases, however since it is early on in the
development of libvirt, it is preferable when possible to just use the <a href="downloads.html">CVS version or snapshot</a>, contact the mailing list
and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<h3>0.7.1: Sep 15 2009</h3>
<ul>
<li>New features:
Add support for encrypted (qcow) volume creation. (Miloslav Trmač),
Secret manipulation public API (Miloslav Trmač),
Multipath storage support module (Dave Allan),
VBox add Storage Volume support (Pritesh Kothari),
Support configuration of huge pages in guests (Daniel P. Berrange),
Support new PolicyKit 1.0 API (Daniel P. Berrange),
Compressed save image format for Qemu (Chris Lalancette, Charles Duffy
and Jim Meyering),
QEmu add host PCI device hotplug support (Mark McLoughlin)
</li>
<li>Documentation:
Minor comment changes (Laine Stump),
Fix up virNodeGetCellsFreeMemory (Chris Lalancette),
Fix some typos and remove unhelpful acronyms in QEMU docs (Daniel P. Berrange),
Add documentation about the QEMU driver security features (Daniel P. Berrange),
Remove 'the-the' typo in docs (Daniel P. Berrange),
Fix some URLs in virsh manpage (Mark McLoughlin),
Add link to AbiCloud web management system (Daniel P. Berrange),
Update logging documentation (Amy Griffis)
</li>
<li>Portability:
Fix win32 platform build (Daniel P. Berrange)
</li>
<li>Bug fixes:
VBox bug when starting machine from old versions (Pritesh Kothari),
ESX avoid potential leaks (Matthias Bolte),
Fix more OOM handling bugs (Daniel P. Berrange),
Fix logging buffer overrun read (Daniel P. Berrange),
Fix misc thread locking bugs / bogus warnings (Daniel P. Berrange),
Fix regression from "Avoid polling on FDs with no events" (Chris Lalancette),
Close logfile fd after spawning qemu (Ryota Ozaki),
Check for libssh2 &gt;= 1.0 for phy driver (Maximilian Wilhelm),
Avoid another leak in src/xend_internal.c (Matthias Bolte),
Avoid a leak in xenDaemonLookupByID (Matthias Bolte),
VBox fix minor bugs in display and added OOM checks (Pritesh Kothari),
Some close/fclose/closedir calls are missing (Matthias Bolte),
lxc_container.c: avoid a leak on error paths (Jim Meyering),
Fix several memory leaks (Ryota Ozaki),
Fix a memory leak in virsh (Laine Stump),
Fix ID field in virDomainPtr after starting Xen VM (Daniel P. Berrange),
Fix memory leak of monitor character device (Daniel P. Berrange),
Automatically set correct ownership of QEMU state directories (Daniel P. Berrange),
Avoid polling on FDs with no events enabled (Daniel P. Berrange),
esx_vi: return -1 upon failure, as intended (Matthias Bolte),
python: let libvirt_virConnectDomainEventCallback indicate success (Jim Meyering),
uml_conf.c: don't return an uninitialized pointer (Jim Meyering),
storage_backend.c: assure clang that inputvol can't be NULL (Jim Meyering),
libvir.c: avoid NULL dereference in virStoragePoolSetAutostart (Jim Meyering),
lxc: avoid NULL dereference upon getmntent failure (Jim Meyering),
storage_backend_fs: avoid NULL dereference on opendir failure (Jim Meyering),
Fix bugs in virDomainMigrate v2 code. (Chris Lalancette),
VMware ESX: Don't warn on some query parameter (Matthias Bolte),
Don't blindly reorder disk drives (Daniel P. Berrange),
Fix sexpr2string() to handle empty list. (Jim Fehlig),
Fix driver entry table for UML numa APIs (Daniel P. Berrange),
Fix crash in virsh vol-key command (Pritesh Kothari),
517157 fix selinux problem with images on NFS (Darryl L. Pierce),
Fix phypOpen() escape_specialcharacters (Mattias Bolte),
Power Hypervisor: fix potential segfault (Mattias Bolte),
Fix bridge/tap system error reporting (Mark McLoughlin),
Reset PCI host devices after hot-unplug (Mark McLoughlin),
Reset unmanaged PCI host devices before hotplug (Mark McLoughlin),
Fix up connection reference counting. (Chris Lalancette),
Fix LXC driver crash when kernel doesn't support clone (Daniel P. Berrange),
Make LXC / UML drivers robust against NUMA topology brokenness (Daniel P. Berrange),
Run 'cont' on successful migration finish. (Chris Lalancette),
Fix QEMU domain status after restore. (Chris Lalancette),
Handle kernels with no ipv6 support (Mark McLoughlin),
Set perms on /var/lib/libvirt/boot to 0711 (Mark McLoughlin),
chown kernel/initrd before spawning qemu (Mark McLoughlin),
Several fixes to libvirtd's log setup (Amy Griffis),
Fix memleak if esxOpen fails (Matthias Bolte)
</li>
<li>Improvement:
support lzop save compression for qemu (Charles Duffy),
VBox 3.0.6 API change support (Pritesh Kothari),
Add UUID definition required by storage encryption import (Daniel P. Berrange),
Make secrets RNG more strict (Daniel P. Berrange),
Fill in secret UUID for qcow encryption (Daniel P. Berrange),
Add usage type/id as a public API property of virSecret (Daniel P. Berrange),
Fix UUID handling in secrets/storage encryption APIs (Daniel P. Berrange),
Save vcpuinfo in status file (Daniel P. Berrange),
Restart libvirtd upon RPM upgrade (Daniel P. Berrange),
Add support for qcow encrypted volumes to qemu. (Miloslav Trmač),
Provide missing passphrase when creating a volume. (Miloslav Trmač),
Add virsh commands for secrets APIs (Miloslav Trmač),
Local file implementation of secret driver API (Miloslav Trmač),
Mask out flags used internally for virSecretGetValue (Miloslav Trmač),
Add &lt;usage&gt; to &lt;secret&gt; docs (Miloslav Trmač),
also allow use of XZ for Qemu image compression (Jim Meyering),
Support relabelling of USB and PCI devices (Daniel P. Berrange),
Add helper APIs for iterating over PCI device resource files (Daniel P. Berrange),
Add helper module for dealing with USB host devices (Daniel P. Berrange),
Test that domain-specific qemu machine types are used correctly (Mark McLoughlin),
Probe machine types from kvm binary too (Mark McLoughlin),
Look up machine types from all domains in qemudGetOldMachines() (Mark McLoughlin),
Test qemu machine aliases (Mark McLoughlin),
Add qemu -help test data for qemu-kvm-0.11.0-rc2 (Mark McLoughlin),
Add a more featureful qemu capabilities test data (Mark McLoughlin),
Add arm arch to capabilities schema (Mark McLoughlin),
Update capabilities schema to allow multiple machines per domain (Mark McLoughlin),
Add esx and tcp migration uri transports to capabilities schema (Mark McLoughlin),
Reintroduce support for lzop compression (Charles Duffy),
build: update gnulib submodule to latest (Jim Meyering),
Add flags and requires for Multipath storage (Daniel Veillard),
ESX raise error if UUID parse failed (Matthias Bolte),
ESX add domain undefine based on esxVI_UnregisterVM (Matthias Bolte),
ESX add esxGetCapabilities() with basic defaults (Matthias Bolte),
Switch Power Hypervisor to libssh2 (Eduardo Otubo),
Allow libvirtd to RPC to external libvirtd (Chris Lalancette),
Add support for setting disk drive serial numbers (Daniel P. Berrange),
VBox support for defining/dumping video devices (Pritesh Kothari),
Generic parsing support for video acceleration (Pritesh Kothari),
VMware ESX: Allow ethernet address type 'vpx' (Matthias Bolte),
Support for getting/setting number of cpus in VBox (Pritesh Kothari),
Make handling of monitor prompts more general. (Miloslav Trmač),
Attach encryption information to virDomainDiskDef. (Miloslav Trmač),
Recognize encryption format of qcow volumes. (Miloslav Trmač),
Attach encryption information to virStorageVolDef. (Miloslav Trmač),
Add volume encryption information handling. (Miloslav Trmač),
Secret manipulation API docs refresh and wire up python generator (Miloslav Trmač),
Secret manipulation remote client (Miloslav Trmač),
Secret manipulation libvirtd wire protocol and remote dispatcher (Miloslav Trmač),
Secret manipulation public API implementation (Miloslav Trmač),
Secret manipulation internal API (Miloslav Trmač),
Add test for recently fixed crash with latest XenD (Daniel P. Berrange),
Don't expose 'vnet%d' to the user (Mark McLoughlin),
Maintain a list of active PCI hostdevs and use it in pciResetDevice() (Mark McLoughlin),
Simplify PCI hostdev prepare/re-attach using a pciDeviceList type (Mark McLoughlin),
Use pci_addr=auto with QEMU's pci_add monitor command (Mark McLoughlin),
Check active domain hostdevs before allowing PCI reset (Mark McLoughlin),
Allow pciResetDevice() to reset multiple devices (Mark McLoughlin),
Improve PCI host device reset error message (Mark McLoughlin),
Reset and re-attach PCI host devices on guest shutdown (Mark McLoughlin),
Allow PM reset on multi-function PCI devices (Mark McLoughlin),
Detect KVM's PCI device assignment support (Mark McLoughlin),
Split virDomainMigrate into functions. (Chris Lalancette),
Consolidate code for parsing the logging env (Amy Griffis)
</li>
<li>Cleanups:
Remove accidentally added UUID re-definition in storage schema (Daniel P. Berrange),
ESX cleanup of CPU model strings (Matthias Bolte),
Fix use of dlopen modules (Daniel P. Berrange),
Consolidate "cont" into qemudMonitorSendCont() (Miloslav Trmač),
Cleanup sec driver error reporting to use virReportSystemError (Daniel P. Berrange),
Port QEMU driver to use USB/PCI device helpers (Daniel P. Berrange),
Simplify and fix qemudCanonicalizeMachine() (Mark McLoughlin),
Split up qemudGetOldMachines() (Mark McLoughlin),
Re-factor qemu test machine allocation code (Mark McLoughlin),
Canonicalize the qemu machine type in qemuxml2argvtest (Mark McLoughlin),
Dump qemu driver capabilities if test debugging enabled (Mark McLoughlin),
Fix formatting of machine types in capabilities XML (Mark McLoughlin),
qemu_driver.c: factor out more duplication (Jim Meyering),
Deprecate lzma and lzop in favor of xz, add dep (Daniel Veillard),
qemu_driver.c: factor out duplication in compression-type handling (Jim Meyering),
openvz_conf.c: remove dead store to "p"; use strchrnul (Jim Meyering),
Remove some tabs used for indent (Daniel Veillard),
Updated a number of localizations and regenerated (Daniel Veillard),
Add a missing comment (Miloslav Trmač),
Fix a pasto in storage_encryption_conf.c (Miloslav Trmač),
xm_internal.c: remove four useless comparisons after strchr (Jim Meyering),
xm_internal.c: remove dead increment of "data" (Jim Meyering),
network_driver.c: remove dead store to "err" (Jim Meyering),
iptables.c: remove dead store to "s" (Jim Meyering),
util.c: avoid dead store to "flag" (Jim Meyering),
domain_conf.c: remove two dead stores (Jim Meyering),
xm_internal.c: remove two ret=... dead stores (Jim Meyering),
xm_internal.c: remove dead stores of local, "type" (Jim Meyering),
network_conf.c: remove dead store to "err" (Jim Meyering),
openvz_driver.c: avoid dead store to "err" (Jim Meyering),
xend_internal.c: Remove two dead stores to "ret" (Jim Meyering),
storage_driver.c: remove two dead stores to "backend" (Jim Meyering),
qemu_conf.c: add a comment suggesting why we leave a dead-store (Jim Meyering),
hash.c: remove a dead store (Jim Meyering),
interface_conf.c: remove a dead-store and declaration (Jim Meyering),
eventtest.c: detect write failure and avoid dead stores (Jim Meyering),
openvz_conf.c: Remove dead store to copy_fd (Jim Meyering),
storage_backend_logical.c: appease clang: remove useless increment (Jim Meyering),
ESX simplify SOAP request and response handling (Matthias Bolte),
ESX use virXPathNode*() to simplify XPath handling (Matthias Bolte),
ESX: make esxVI_GetVirtualMachineIdentity() robust (Matthias Bolte),
ESX: Fix VMX path parsing and URL encoding (Matthias Bolte),
VBox driver cleanups (Pritesh Kothari),
PHYP driver cleanups (Daniel Veillard),
Move QEMU monitor socket in /var/lib/libvirt/qemu (Daniel P. Berrange),
xen_internal.c: remove two unused local variables (Jim Meyering),
mdns.c: remove dead initialization (Jim Meyering),
node_device_conf.c: remove dead initialization (Jim Meyering),
openvz_conf.c: don't use undefined local, "net" (Jim Meyering),
test.c: don't use undefined local, "def" (Jim Meyering),
remote_internal.c: appease clang (Jim Meyering),
infra: define ATTRIBUTE_NONNULL to mark non-NULL parameters (Jim Meyering),
lxc: don't unlink(NULL) in main (Jim Meyering),
storage_conf.c: avoid overflow upon use of "z" or "Z" (zebi) suffix (Jim Meyering),
VBox cleanup and update of networking shutdown (Pritesh Kothari),
Box cleanup and update of networking XML functions (Pritesh Kothari),
Fix misc OOM bugs (Daniel P. Berrange),
Misc fixes to secrets API code (Daniel P. Berrange),
Only add glusterfs dep for Fedora &gt;= 11 (Daniel P. Berrange),
Remove redundant base64 include file (Daniel P. Berrange),
Don't assume buffered output echoes the command. (Miloslav Trmač),
Update chinese, polish and spanish localizations (Daniel Veillard),
OpenVZ: accept NULL as type for GetMaxVCPUs. (Chris Lalancette),
Remove use of strncpy in qemudExtractMonitorPath. (Chris Lalancette),
Refactor policycode auth code to avoid compiler warnings (Daniel P. Berrange),
spec file: add URL to Source tag (Mark McLoughlin),
Small fixes for qemu save compression. (Chris Lalancette),
Fix thinko in PCI hostdev detach (Mark McLoughlin),
Revert changes to allow pciResetDevice() reset multiple devices (Mark McLoughlin),
Fix list updating after disk/network/hostdev hot-unplug (Mark McLoughlin),
Re-name remote_internal.c:driver to remote_driver (Mark McLoughlin),
Cosmetic change to 'virsh nodedev-list --tree' output (Mark McLoughlin),
Re-factor hostdev hotplug (Mark McLoughlin),
Remove a duplicated assignment in Xen PCI parsing. (Chris Lalancette),
Fix up a few minor indentation issues. (Chris Lalancette),
Fix phyp escape_specialcharacters. (Chris Lalancette),
Make openvzGetVPSUUID take a len. (Chris Lalancette),
Minor cleanup of error path for c_oneVmInfo. (Chris Lalancette),
Fix up a whitespace in comments in src/console.c (Chris Lalancette),
Fix up a stray whitespace in virHashGrow. (Chris Lalancette),
Remove unsafe strncpy from esx_vmx.c (Chris Lalancette),
Cleanup VIR_LOG_DEBUG parsing in eventtest (Amy Griffis),
Tighten libvirt's parsing of logging env (Amy Griffis),
Cleanup structure name naming (Matthias Bolte),
Add proper OOM reporting for esxDomainGetOSType (Matthias Bolte)
</li>
</ul>
<h3>0.7.0: Aug 5 2009</h3>
<ul>
<li>New features: Interface implementation based on netcf (Laine Stump,
......
......@@ -442,7 +442,7 @@ extern virConnectAuthPtr virConnectAuthPtrDefault;
* version * 1,000,000 + minor * 1000 + micro
*/
#define LIBVIR_VERSION_NUMBER 7000
#define LIBVIR_VERSION_NUMBER 7001
int virGetVersion (unsigned long *libVer,
const char *type,
......
......@@ -642,6 +642,15 @@ fi
%endif
%changelog
* Tue Sep 15 2009 Daniel Veillard <veillard@redhat.com> - 0.7.1-1
- ESX, VBox driver updates
- mutipath support
- support for encrypted (qcow) volume
- compressed save image format for Qemu/KVM
- QEmu host PCI device hotplug support
- configuration of huge pages in guests
- a lot of fixes
* Wed Aug 5 2009 Daniel Veillard <veillard@redhat.com> - 0.7.0-1
- ESX, VBox3, Power Hypervisor drivers
- new net filesystem glusterfs
......
......@@ -291,8 +291,6 @@ LIBVIRT_0.7.0 {
virConnectListDefinedInterfaces;
} LIBVIRT_0.6.4;
# .... define new API here using predicted next version number ....
LIBVIRT_0.7.1 {
global:
virSecretGetConnect;
......@@ -313,3 +311,5 @@ LIBVIRT_0.7.1 {
virSecretRef;
virSecretFree;
} LIBVIRT_0.7.0;
# .... define new API here using predicted next version number ....
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册