Cleanup whitespace in docs

This patch is the result of running the following command in the docs
directory: sed -i 's/\t/        /g; s/\s*$//' *.html.in

* docs/*.html.in:convert tabs into 8 spaces and remove trailing whitespace
This commit is contained in:
Matthew Booth 2009-11-06 16:04:19 +01:00 committed by Daniel Veillard
parent bb4ec5550b
commit c6d5ac174e
20 changed files with 688 additions and 688 deletions

View File

@ -84,7 +84,7 @@
which is garanteed to be unique for long term usage and across a which is garanteed to be unique for long term usage and across a
set of nodes.</li> set of nodes.</li>
</ul> </ul>
<h2><a name="Functions" id="Functions">Functions and naming <h2><a name="Functions" id="Functions">Functions and naming
conventions</a></h2> conventions</a></h2>
<p> The naming of the functions present in the library is usually <p> The naming of the functions present in the library is usually
@ -93,7 +93,7 @@
<p> For each first class object you will find apis <p> For each first class object you will find apis
for the following actions:</p> for the following actions:</p>
<ul> <ul>
<li><b>Lookup</b>:...LookupByName, <li><b>Lookup</b>:...LookupByName,
<li><b>Enumeration</b>:virConnectList... and virConnectNumOf...: <li><b>Enumeration</b>:virConnectList... and virConnectNumOf...:
those are used to enumerate a set of object available to an given those are used to enumerate a set of object available to an given
hypervisor connection like: hypervisor connection like:
@ -119,7 +119,7 @@
<li><b>Destruction</b>: ... </li> <li><b>Destruction</b>: ... </li>
</ul> </ul>
<p> For more in-depth details of the storage related APIs see <p> For more in-depth details of the storage related APIs see
<a href="storage.html">the storage management page</a>, <a href="storage.html">the storage management page</a>,
<h2><a name="Driver" id="Driver">The libvirt drivers</a></h2> <h2><a name="Driver" id="Driver">The libvirt drivers</a></h2>
<p></p> <p></p>
<p class="image"> <p class="image">

View File

@ -145,20 +145,20 @@
<ol class="ordinarylist"> <ol class="ordinarylist">
<li>SHOULD log a message with VIR_DEBUG() indicating that it is <li>SHOULD log a message with VIR_DEBUG() indicating that it is
being called and its parameters;</li> being called and its parameters;</li>
<li>MUST call virResetLastError();</li> <li>MUST call virResetLastError();</li>
<li>SHOULD confirm that the connection is valid with <li>SHOULD confirm that the connection is valid with
VIR_IS_CONNECT(conn);</li> VIR_IS_CONNECT(conn);</li>
<li><strong>SECURITY: If the API requires a connection with write <li><strong>SECURITY: If the API requires a connection with write
privileges, MUST confirm that the connection flags do not privileges, MUST confirm that the connection flags do not
indicate that the connection is read-only;</strong></li> indicate that the connection is read-only;</strong></li>
<li>SHOULD do basic validation of the parameters that are being <li>SHOULD do basic validation of the parameters that are being
passed in;</li> passed in;</li>
<li>MUST confirm that the driver for this connection exists and that <li>MUST confirm that the driver for this connection exists and that
it implements this function;</li> it implements this function;</li>
<li>MUST call the internal API;</li> <li>MUST call the internal API;</li>
<li>SHOULD log a message with VIR_DEBUG() indicating that it is <li>SHOULD log a message with VIR_DEBUG() indicating that it is
returning, its return value, and status.</li> returning, its return value, and status.</li>
<li>MUST return status to the caller.</li> <li>MUST return status to the caller.</li>
</ol> </ol>

View File

@ -21,42 +21,42 @@
<dl> <dl>
<dt>virsh</dt> <dt>virsh</dt>
<dd> <dd>
An interactive shell, and batch scriptable tool for performing An interactive shell, and batch scriptable tool for performing
management tasks on all libvirt managed domains, networks and management tasks on all libvirt managed domains, networks and
storage. This is part of the libvirt core distribution. storage. This is part of the libvirt core distribution.
</dd> </dd>
<dt><a href="http://virt-manager.org/">virt-install</a></dt> <dt><a href="http://virt-manager.org/">virt-install</a></dt>
<dd> <dd>
Provides a way to provision new virtual machines from a Provides a way to provision new virtual machines from a
OS distribution install tree. It supports provisioning from OS distribution install tree. It supports provisioning from
local CD images, and the network over NFS, HTTP and FTP. local CD images, and the network over NFS, HTTP and FTP.
</dd> </dd>
<dt><a href="http://virt-manager.org/">virt-clone</a></dt> <dt><a href="http://virt-manager.org/">virt-clone</a></dt>
<dd> <dd>
Allows the disk image(s) and configuration for an existing Allows the disk image(s) and configuration for an existing
virtual machine to be cloned to form a new virtual machine. virtual machine to be cloned to form a new virtual machine.
It automates copying of data across to new disk images, and It automates copying of data across to new disk images, and
updates the UUID, Mac address and name in the configuration updates the UUID, Mac address and name in the configuration
</dd> </dd>
<dt><a href="http://virt-manager.org/">virt-image</a></dt> <dt><a href="http://virt-manager.org/">virt-image</a></dt>
<dd> <dd>
Provides a way to deploy virtual appliances. It defines a Provides a way to deploy virtual appliances. It defines a
simplified portable XML format describing the pre-requisites simplified portable XML format describing the pre-requisites
of a virtual machine. At time of deployment this is translated of a virtual machine. At time of deployment this is translated
into the domain XML format for execution under any libvirt into the domain XML format for execution under any libvirt
hypervisor meeting the pre-requisites. hypervisor meeting the pre-requisites.
</dd> </dd>
<dt><a href="http://et.redhat.com/~rjones/virt-df/">virt-df</a></dt> <dt><a href="http://et.redhat.com/~rjones/virt-df/">virt-df</a></dt>
<dd> <dd>
Examine the utilization of each filesystem in a virtual machine Examine the utilization of each filesystem in a virtual machine
from the comfort of the host machine. This tool peeks into the from the comfort of the host machine. This tool peeks into the
guest disks and determines how much space is used. It can cope guest disks and determines how much space is used. It can cope
with common Linux filesystems and LVM volumes. with common Linux filesystems and LVM volumes.
</dd> </dd>
<dt><a href="http://et.redhat.com/~rjones/virt-top/">virt-top</a></dt> <dt><a href="http://et.redhat.com/~rjones/virt-top/">virt-top</a></dt>
<dd> <dd>
Watch the CPU, memory, network and disk utilization of all Watch the CPU, memory, network and disk utilization of all
virtual machines running on a host. virtual machines running on a host.
</dd> </dd>
</dl> </dl>
@ -65,17 +65,17 @@
<dl> <dl>
<dt><a href="http://virt-manager.org/">virt-manager</a></dt> <dt><a href="http://virt-manager.org/">virt-manager</a></dt>
<dd> <dd>
A general purpose desktop management tool, able to manage A general purpose desktop management tool, able to manage
virtual machines across both local and remotely accessed virtual machines across both local and remotely accessed
hypervisors. It is targeted at home and small office usage hypervisors. It is targeted at home and small office usage
upto managing 10-20 hosts and their VMs. upto managing 10-20 hosts and their VMs.
</dd> </dd>
<dt><a href="http://virt-manager.org/">virt-viewer</a></dt> <dt><a href="http://virt-manager.org/">virt-viewer</a></dt>
<dd> <dd>
A lightweight tool for accessing the graphical console A lightweight tool for accessing the graphical console
associated with a virtual machine. It can securely connect associated with a virtual machine. It can securely connect
to remote consoles supporting the VNC protocol. Also provides to remote consoles supporting the VNC protocol. Also provides
an optional mozilla browser plugin. an optional mozilla browser plugin.
</dd> </dd>
</dl> </dl>
@ -84,18 +84,18 @@
<dl> <dl>
<dt><a href="http://ovirt.org/">oVirt</a></dt> <dt><a href="http://ovirt.org/">oVirt</a></dt>
<dd> <dd>
oVirt provides the ability to manage large numbers of virtual oVirt provides the ability to manage large numbers of virtual
machines across an entire data center of hosts. It integrates machines across an entire data center of hosts. It integrates
with FreeIPA for Kerberos authentication, and in the future, with FreeIPA for Kerberos authentication, and in the future,
certificate management. certificate management.
</dd> </dd>
<dt><a href="http://community.abiquo.com/display/AbiCloud">AbiCloud</a></dt> <dt><a href="http://community.abiquo.com/display/AbiCloud">AbiCloud</a></dt>
<dd> <dd>
AbiCloud is an open source cloud platform manager which allows to AbiCloud is an open source cloud platform manager which allows to
easily deploy a private cloud in your datacenter. One of the key easily deploy a private cloud in your datacenter. One of the key
differences of AbiCloud is the web rich interface for managing the differences of AbiCloud is the web rich interface for managing the
infrastructure. You can deploy a new service just dragging and infrastructure. You can deploy a new service just dragging and
dropping a VM. dropping a VM.
</dd> </dd>
</dl> </dl>
@ -104,10 +104,10 @@
<dl> <dl>
<dt><a href="http://et.redhat.com/~rjones/virt-p2v/">virt-p2v</a></dt> <dt><a href="http://et.redhat.com/~rjones/virt-p2v/">virt-p2v</a></dt>
<dd> <dd>
A tool for converting a physical machine into a virtual machine. It A tool for converting a physical machine into a virtual machine. It
is a LiveCD which is booted on the machine to be converted. It collects is a LiveCD which is booted on the machine to be converted. It collects
a little information from the user and then copies the disks over to a little information from the user and then copies the disks over to
a remote machine and defines the XML for a domain to run the guest. a remote machine and defines the XML for a domain to run the guest.
</dd> </dd>
</dl> </dl>
@ -115,13 +115,13 @@
<dl> <dl>
<dt><a href="http://honk.sigxcpu.org/projects/libvirt/#munin">for munin</a></dt> <dt><a href="http://honk.sigxcpu.org/projects/libvirt/#munin">for munin</a></dt>
<dd> <dd>
The plugins provided by Guido Günther allow to monitor various things The plugins provided by Guido Günther allow to monitor various things
like network and block I/O with like network and block I/O with
<a href="http://munin.projects.linpro.no/">Munin</a>. <a href="http://munin.projects.linpro.no/">Munin</a>.
</dd> </dd>
<dt><a href="http://collectd.org/plugins/libvirt.shtml">for collectd</a></dt> <dt><a href="http://collectd.org/plugins/libvirt.shtml">for collectd</a></dt>
<dd> <dd>
The libvirt-plugin is part of <a href="http://collectd.org/">collectd</a> The libvirt-plugin is part of <a href="http://collectd.org/">collectd</a>
and gather statistics about virtualized guests on a system. This and gather statistics about virtualized guests on a system. This
way, you can collect CPU, network interface and block device usage way, you can collect CPU, network interface and block device usage
for each guest without installing collectd on the guest systems. for each guest without installing collectd on the guest systems.
@ -130,8 +130,8 @@
</dd> </dd>
<dt><a href="http://et.redhat.com/~rjones/nagios-virt/">nagios-virt</a></dt> <dt><a href="http://et.redhat.com/~rjones/nagios-virt/">nagios-virt</a></dt>
<dd> <dd>
Nagios-virt is a configuration tool for adding monitoring of your Nagios-virt is a configuration tool for adding monitoring of your
virtualised domains to <a href="http://www.nagios.org/">Nagios</a>. virtualised domains to <a href="http://www.nagios.org/">Nagios</a>.
You can use this tool to either set up a new Nagios installation for You can use this tool to either set up a new Nagios installation for
your Xen or QEMU/KVM guests, or to integrate with your existing Nagios your Xen or QEMU/KVM guests, or to integrate with your existing Nagios
installation. installation.

View File

@ -11,26 +11,26 @@
<ul> <ul>
<li><strong>VLAN 1</strong>. This virtual network has connectivity <li><strong>VLAN 1</strong>. This virtual network has connectivity
to <code>LAN 2</code> with traffic forwarded and NATed. to <code>LAN 2</code> with traffic forwarded and NATed.
</li> </li>
<li><strong>VLAN 2</strong>. This virtual network is completely <li><strong>VLAN 2</strong>. This virtual network is completely
isolated from any physical LAN. isolated from any physical LAN.
</li> </li>
<li><strong>Guest A</strong>. The first network interface is bridged <li><strong>Guest A</strong>. The first network interface is bridged
to the physical <code>LAN 1</code>. The second interface is connected to the physical <code>LAN 1</code>. The second interface is connected
to a virtual network <code>VLAN 1</code>. to a virtual network <code>VLAN 1</code>.
</li> </li>
<li><strong>Guest B</strong>. The first network interface is connected <li><strong>Guest B</strong>. The first network interface is connected
to a virtual network <code>VLAN 1</code>, giving it limited NAT to a virtual network <code>VLAN 1</code>, giving it limited NAT
based connectivity to LAN2. It has a second network interface based connectivity to LAN2. It has a second network interface
connected to <code>VLAN 2</code>. It acts a router allowing limited connected to <code>VLAN 2</code>. It acts a router allowing limited
traffic between the two VLANs, thus giving <code>Guest C</code> traffic between the two VLANs, thus giving <code>Guest C</code>
connectivity to the physical <code>LAN 2</code>. connectivity to the physical <code>LAN 2</code>.
</li> </li>
<li><strong>Guest C</strong>. The only network interface is connected <li><strong>Guest C</strong>. The only network interface is connected
to a virtual network <code>VLAN 2</code>. It has no direct connectivity to a virtual network <code>VLAN 2</code>. It has no direct connectivity
to a physical LAN, relying on <code>Guest B</codE> to route traffic to a physical LAN, relying on <code>Guest B</codE> to route traffic
on its behalf. on its behalf.
</li> </li>
</ul> </ul>

View File

@ -7,16 +7,16 @@
</p> </p>
<ol> <ol>
<li> <li>
<strong>Volume</strong> - a single storage volume which can <strong>Volume</strong> - a single storage volume which can
be assigned to a guest, or used for creating further pools. A be assigned to a guest, or used for creating further pools. A
volume is either a block device, a raw file, or a special format volume is either a block device, a raw file, or a special format
file. file.
</li> </li>
<li> <li>
<strong>Pool</strong> - provides a means for taking a chunk <strong>Pool</strong> - provides a means for taking a chunk
of storage and carving it up into volumes. A pool can be used to of storage and carving it up into volumes. A pool can be used to
manage things such as a physical disk, a NFS server, a iSCSI target, manage things such as a physical disk, a NFS server, a iSCSI target,
a host adapter, an LVM group. a host adapter, an LVM group.
</li> </li>
</ol> </ol>

View File

@ -30,26 +30,26 @@
<h2>Linux Distribution specific bug reports</h2> <h2>Linux Distribution specific bug reports</h2>
<ul> <ul>
<li> <li>
If you are using official binaries from a <strong>Fedora distribution</strong>, enter If you are using official binaries from a <strong>Fedora distribution</strong>, enter
tickets against the <code>Fedora</code> product and the <code>libvirt</code> tickets against the <code>Fedora</code> product and the <code>libvirt</code>
component. component.
<ul> <ul>
<li><a href="http://bugzilla.redhat.com/buglist.cgi?component=libvirt&amp;product=Fedora">View Fedora libvirt tickets</a></li> <li><a href="http://bugzilla.redhat.com/buglist.cgi?component=libvirt&amp;product=Fedora">View Fedora libvirt tickets</a></li>
<li><a href="http://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora&amp;component=libvirt">New Fedora libvirt ticket</a></li> <li><a href="http://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora&amp;component=libvirt">New Fedora libvirt ticket</a></li>
</ul> </ul>
</li> </li>
<li> <li>
If you are using official binaries from <strong>Red Hat Enterprise Linux distribution</strong>, If you are using official binaries from <strong>Red Hat Enterprise Linux distribution</strong>,
tickets against the <code>Red Hat Enterprise Linux 5</code> product and tickets against the <code>Red Hat Enterprise Linux 5</code> product and
the <code>libvirt</code> component. the <code>libvirt</code> component.
<ul> <ul>
<li><a href="http://bugzilla.redhat.com/buglist.cgi?component=libvirt&amp;product=Red%20Hat%20Enterprise%20Linux%205">View Red Hat Enterprise Linux libvirt tickets</a></li> <li><a href="http://bugzilla.redhat.com/buglist.cgi?component=libvirt&amp;product=Red%20Hat%20Enterprise%20Linux%205">View Red Hat Enterprise Linux libvirt tickets</a></li>
<li><a href="http://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%205&amp;component=libvirt">New Red Hat Enterprise Linux libvirt ticket</a></li> <li><a href="http://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%205&amp;component=libvirt">New Red Hat Enterprise Linux libvirt ticket</a></li>
</ul> </ul>
</li> </li>
<li> <li>
If you are using official binaries from another Linux distribution first If you are using official binaries from another Linux distribution first
follow their own bug reporting guidelines. follow their own bug reporting guidelines.
</li> </li>
</ul> </ul>
@ -65,7 +65,7 @@
<ul> <ul>
<li>The version number of the libvirt build, or date of the CVS <li>The version number of the libvirt build, or date of the CVS
checkout</li> checkout</li>
<li>The hardware architecture being used</li> <li>The hardware architecture being used</li>
<li>The name of the hypervisor (Xen, QEMU, KVM)</li> <li>The name of the hypervisor (Xen, QEMU, KVM)</li>
<li>The XML config of the guest domain if relevant</li> <li>The XML config of the guest domain if relevant</li>

View File

@ -13,24 +13,24 @@ start it using
<p></p> <p></p>
<pre> <pre>
&lt;domain type='lxc'&gt; &lt;domain type='lxc'&gt;
&lt;name&gt;vm1&lt;/name&gt; &lt;name&gt;vm1&lt;/name&gt;
&lt;memory&gt;500000&lt;/memory&gt; &lt;memory&gt;500000&lt;/memory&gt;
&lt;os&gt; &lt;os&gt;
&lt;type&gt;exe&lt;/type&gt; &lt;type&gt;exe&lt;/type&gt;
&lt;init&gt;/bin/sh&lt;/init&gt; &lt;init&gt;/bin/sh&lt;/init&gt;
&lt;/os&gt; &lt;/os&gt;
&lt;vcpu&gt;1&lt;/vcpu&gt; &lt;vcpu&gt;1&lt;/vcpu&gt;
&lt;clock offset='utc'/&gt; &lt;clock offset='utc'/&gt;
&lt;on_poweroff&gt;destroy&lt;/on_poweroff&gt; &lt;on_poweroff&gt;destroy&lt;/on_poweroff&gt;
&lt;on_reboot&gt;restart&lt;/on_reboot&gt; &lt;on_reboot&gt;restart&lt;/on_reboot&gt;
&lt;on_crash&gt;destroy&lt;/on_crash&gt; &lt;on_crash&gt;destroy&lt;/on_crash&gt;
&lt;devices&gt; &lt;devices&gt;
&lt;emulator&gt;/usr/libexec/libvirt_lxc&lt;/emulator&gt; &lt;emulator&gt;/usr/libexec/libvirt_lxc&lt;/emulator&gt;
&lt;interface type='network'&gt; &lt;interface type='network'&gt;
&lt;source network='default'/&gt; &lt;source network='default'/&gt;
&lt;/interface&gt; &lt;/interface&gt;
&lt;console type='pty' /&gt; &lt;console type='pty' /&gt;
&lt;/devices&gt; &lt;/devices&gt;
&lt;/domain&gt; &lt;/domain&gt;
</pre> </pre>
@ -42,28 +42,28 @@ debootstrap, whatever) under /opt/vm-1-root:
<p></p> <p></p>
<pre> <pre>
&lt;domain type='lxc'&gt; &lt;domain type='lxc'&gt;
&lt;name&gt;vm1&lt;/name&gt; &lt;name&gt;vm1&lt;/name&gt;
&lt;memory&gt;32768&lt;/memory&gt; &lt;memory&gt;32768&lt;/memory&gt;
&lt;os&gt; &lt;os&gt;
&lt;type&gt;exe&lt;/type&gt; &lt;type&gt;exe&lt;/type&gt;
&lt;init&gt;/init&lt;/init&gt; &lt;init&gt;/init&lt;/init&gt;
&lt;/os&gt; &lt;/os&gt;
&lt;vcpu&gt;1&lt;/vcpu&gt; &lt;vcpu&gt;1&lt;/vcpu&gt;
&lt;clock offset='utc'/&gt; &lt;clock offset='utc'/&gt;
&lt;on_poweroff&gt;destroy&lt;/on_poweroff&gt; &lt;on_poweroff&gt;destroy&lt;/on_poweroff&gt;
&lt;on_reboot&gt;restart&lt;/on_reboot&gt; &lt;on_reboot&gt;restart&lt;/on_reboot&gt;
&lt;on_crash&gt;destroy&lt;/on_crash&gt; &lt;on_crash&gt;destroy&lt;/on_crash&gt;
&lt;devices&gt; &lt;devices&gt;
&lt;emulator&gt;/usr/libexec/libvirt_lxc&lt;/emulator&gt; &lt;emulator&gt;/usr/libexec/libvirt_lxc&lt;/emulator&gt;
&lt;filesystem type='mount'&gt; &lt;filesystem type='mount'&gt;
&lt;source dir='/opt/vm-1-root'/&gt; &lt;source dir='/opt/vm-1-root'/&gt;
&lt;target dir='/'/&gt; &lt;target dir='/'/&gt;
&lt;/filesystem&gt; &lt;/filesystem&gt;
&lt;interface type='network'&gt; &lt;interface type='network'&gt;
&lt;source network='default'/&gt; &lt;source network='default'/&gt;
&lt;/interface&gt; &lt;/interface&gt;
&lt;console type='pty' /&gt; &lt;console type='pty' /&gt;
&lt;/devices&gt; &lt;/devices&gt;
&lt;/domain&gt; &lt;/domain&gt;
</pre> </pre>

View File

@ -18,9 +18,9 @@ tools and VM description files.</p>
<ul> <ul>
<li> <li>
<p style="margin-bottom: 0in">A working OpenNebula installation, <p style="margin-bottom: 0in">A working OpenNebula installation,
version 1.2 or higher. version 1.2 or higher.
</p> </p>
</li> </li>
</ul> </ul>
<h2> <h2>
<a name="uris"></a>Connections to OpenNebula driver</h2> <a name="uris"></a>Connections to OpenNebula driver</h2>
@ -38,9 +38,9 @@ connection Uris for the driver are:
<p>There are some limitations on the XML attributes that may be <p>There are some limitations on the XML attributes that may be
specified when interfacing OpenNebula. The following xml example specified when interfacing OpenNebula. The following xml example
details the attributes and options supported by the OpenNebula details the attributes and options supported by the OpenNebula
driver:</p> driver:</p>
<h3>Paravirtualized guest direct kernel boot <h3>Paravirtualized guest direct kernel boot
</h3> </h3>
<pre> &lt;domain type='one'&gt; <pre> &lt;domain type='one'&gt;
&lt;name&gt;vm01&lt;/name&gt; &lt;name&gt;vm01&lt;/name&gt;
@ -80,7 +80,7 @@ driver:</p>
&lt;mac address='00:16:3e:5d:c7:9e'/&gt; &lt;mac address='00:16:3e:5d:c7:9e'/&gt;
&lt;/interface&gt; &lt;/interface&gt;
&lt;!--ONE Network--&gt; &lt;!--ONE Network--&gt;
&lt;interface type='network'&gt; &lt;interface type='network'&gt;
&lt;source network='onenetwork'/&gt; &lt;source network='onenetwork'/&gt;
&lt;/interface&gt; &lt;/interface&gt;
@ -93,7 +93,7 @@ attach the interface to a previously configured network (named
<tt>onenetwork</tt>) within the <a href="http://opennebula.org/">OpenNebula</a> system, typically with the <tt>onenetwork</tt>) within the <a href="http://opennebula.org/">OpenNebula</a> system, typically with the
<tt>onevnet</tt> CLI command.</p> <tt>onevnet</tt> CLI command.</p>
<p><b>Note</b>: OpenNebula supports the simultaneous use of different hypervisors, so you can specify any os type (linux or hvm) supported by your cluster. <p><b>Note</b>: OpenNebula supports the simultaneous use of different hypervisors, so you can specify any os type (linux or hvm) supported by your cluster.
</p> </p>
<h2>Links</h2> <h2>Links</h2>

View File

@ -14,23 +14,23 @@
<ul> <ul>
<li> <li>
<strong>QEMU emulators</strong>: The driver will probe <code>/usr/bin</code> <strong>QEMU emulators</strong>: The driver will probe <code>/usr/bin</code>
for the presence of <code>qemu</code>, <code>qemu-system-x86_64</code>, for the presence of <code>qemu</code>, <code>qemu-system-x86_64</code>,
<code>qemu-system-mips</code>,<code>qemu-system-mipsel</code>, <code>qemu-system-mips</code>,<code>qemu-system-mipsel</code>,
<code>qemu-system-sparc</code>,<code>qemu-system-ppc</code>. The results <code>qemu-system-sparc</code>,<code>qemu-system-ppc</code>. The results
of this can be seen from the capabilities XML output. of this can be seen from the capabilities XML output.
</li> </li>
<li> <li>
<strong>KVM hypervisor</strong>: The driver will probe <code>/usr/bin</code> <strong>KVM hypervisor</strong>: The driver will probe <code>/usr/bin</code>
for the presence of <code>qemu-kvm</code> and <code>/dev/kvm</code> device for the presence of <code>qemu-kvm</code> and <code>/dev/kvm</code> device
node. If both are found, then KVM fullyvirtualized, hardware accelerated node. If both are found, then KVM fullyvirtualized, hardware accelerated
guests will be available. guests will be available.
</li> </li>
<li> <li>
<strong>Xenner hypervisor</strong>: The driver will probe <code>/usr/bin</code> <strong>Xenner hypervisor</strong>: The driver will probe <code>/usr/bin</code>
for the presence of <code>xenner</code> and <code>/dev/kvm</code> device for the presence of <code>xenner</code> and <code>/dev/kvm</code> device
node. If both are found, then Xen paravirtualized guests can be run using node. If both are found, then Xen paravirtualized guests can be run using
the KVM hardware acceleration. the KVM hardware acceleration.
</li> </li>
</ul> </ul>
@ -556,7 +556,7 @@ $ virsh domxml-to-native qemu-argv demo.xml
<h3>Xen paravirtualized guests with hardware acceleration</h3> <h3>Xen paravirtualized guests with hardware acceleration</h3>
</body> </body>
</html> </html>

View File

@ -18,31 +18,31 @@
<ul> <ul>
<li> <li>
<strong>XenD</strong>: Access to the Xen daemon is a mandatory <strong>XenD</strong>: Access to the Xen daemon is a mandatory
requirement for the libvirt Xen driver. It requires that the UNIX requirement for the libvirt Xen driver. It requires that the UNIX
socket interface be enabled in the <code>/etc/xen/xend-config.sxp</code> socket interface be enabled in the <code>/etc/xen/xend-config.sxp</code>
configuration file. Specifically the config settings configuration file. Specifically the config settings
<code>(xend-unix-server yes)</code>. This path is usually restricted <code>(xend-unix-server yes)</code>. This path is usually restricted
to only allow the <code>root</code> user access. As an alternative, to only allow the <code>root</code> user access. As an alternative,
the HTTP interface can be used, however, this has significant security the HTTP interface can be used, however, this has significant security
implications. implications.
</li> </li>
<li> <li>
<strong>XenStoreD</strong>: Access to the Xenstore daemon enables <strong>XenStoreD</strong>: Access to the Xenstore daemon enables
more efficient codepaths for looking up domain information which more efficient codepaths for looking up domain information which
lowers the CPU overhead of management. lowers the CPU overhead of management.
</li> </li>
<li> <li>
<strong>Hypercalls</strong>: The ability to make direct hypercalls <strong>Hypercalls</strong>: The ability to make direct hypercalls
allows the most efficient codepaths in the driver to be used for allows the most efficient codepaths in the driver to be used for
monitoring domain status. monitoring domain status.
</li> </li>
<li> <li>
<strong>XM config</strong>: When using Xen releases prior to 3.0.4, <strong>XM config</strong>: When using Xen releases prior to 3.0.4,
there is no inactive domain management in XenD. For such releases, there is no inactive domain management in XenD. For such releases,
libvirt will automatically process XM configuration files kept in libvirt will automatically process XM configuration files kept in
the <code>/etc/xen</code> directory. It is important not to place the <code>/etc/xen</code> directory. It is important not to place
any other non-config files in this directory. any other non-config files in this directory.
</li> </li>
</ul> </ul>

View File

@ -37,17 +37,17 @@
<dl> <dl>
<dt><code>name</code></dt> <dt><code>name</code></dt>
<dd>The content of the <code>name</code> element provides <dd>The content of the <code>name</code> element provides
a short name for the virtual machine. This name should a short name for the virtual machine. This name should
consist only of alpha-numeric characters and is required consist only of alpha-numeric characters and is required
to be unique within the scope of a single host. It is to be unique within the scope of a single host. It is
often used to form the filename for storing the persistent often used to form the filename for storing the persistent
configuration file. <span class="since">Since 0.0.1</span></dd> configuration file. <span class="since">Since 0.0.1</span></dd>
<dt><code>uuid</code></dt> <dt><code>uuid</code></dt>
<dd>The content of the <code>uuid</code> element provides <dd>The content of the <code>uuid</code> element provides
a globally unique identifier for the virtual machine. a globally unique identifier for the virtual machine.
The format must be RFC 4122 compliant, eg <code>3e3fce45-4f53-4fa7-bb32-11f34168b82b</code>. The format must be RFC 4122 compliant, eg <code>3e3fce45-4f53-4fa7-bb32-11f34168b82b</code>.
If omitted when defining/creating a new machine, a random If omitted when defining/creating a new machine, a random
UUID is generated. <span class="since">Since 0.0.1</span></dd> UUID is generated. <span class="since">Since 0.0.1</span></dd>
</dl> </dl>
<h3><a name="elementsOS">Operating system booting</a></h3> <h3><a name="elementsOS">Operating system booting</a></h3>
@ -78,24 +78,24 @@
<dl> <dl>
<dt><code>type</code></dt> <dt><code>type</code></dt>
<dd>The content of the <code>type</code> element specifies the <dd>The content of the <code>type</code> element specifies the
type of operating system to be booted in the virtual machine. type of operating system to be booted in the virtual machine.
<code>hvm</code> indicates that the OS is one designed to run <code>hvm</code> indicates that the OS is one designed to run
on bare metal, so requires full virtualization. <code>linux</code> on bare metal, so requires full virtualization. <code>linux</code>
(badly named!) refers to an OS that supports the Xen 3 hypervisor (badly named!) refers to an OS that supports the Xen 3 hypervisor
guest ABI. There are also two optional attributes, <code>arch</code> guest ABI. There are also two optional attributes, <code>arch</code>
specifying the CPU architecture to virtualization, and <code>machine</code> specifying the CPU architecture to virtualization, and <code>machine</code>
referring to the machine type. The <a href="formatcaps.html">Capabilities XML</a> referring to the machine type. The <a href="formatcaps.html">Capabilities XML</a>
provides details on allowed values for these. <span class="since">Since 0.0.1</span></dd> provides details on allowed values for these. <span class="since">Since 0.0.1</span></dd>
<dt><code>loader</code></dt> <dt><code>loader</code></dt>
<dd>The optional <code>loader</code> tag refers to a firmware blob <dd>The optional <code>loader</code> tag refers to a firmware blob
used to assist the domain creation process. At this time, it is used to assist the domain creation process. At this time, it is
only needed by Xen fully virtualized domains. <span class="since">Since 0.1.0</span></dd> only needed by Xen fully virtualized domains. <span class="since">Since 0.1.0</span></dd>
<dt><code>boot</code></dt> <dt><code>boot</code></dt>
<dd>The <code>dev</code> attribute takes one of the values "fd", "hd", <dd>The <code>dev</code> attribute takes one of the values "fd", "hd",
"cdrom" or "network" and is used to specify the next boot device "cdrom" or "network" and is used to specify the next boot device
to consider. The <code>boot</code> element can be repeated multiple to consider. The <code>boot</code> element can be repeated multiple
times to setup a priority list of boot devices to try in turn. times to setup a priority list of boot devices to try in turn.
<span class="since">Since 0.1.3</span> <span class="since">Since 0.1.3</span>
</dd> </dd>
</dl> </dl>
@ -111,22 +111,22 @@
<pre> <pre>
... ...
&lt;bootloader&gt;/usr/bin/pygrub&lt;/bootloader&gt; &lt;bootloader&gt;/usr/bin/pygrub&lt;/bootloader&gt;
&lt;bootloader_args&gt;--append single&lt;/bootloader_args&gt; &lt;bootloader_args&gt;--append single&lt;/bootloader_args&gt;
...</pre> ...</pre>
<dl> <dl>
<dt><code>bootloader</code></dt> <dt><code>bootloader</code></dt>
<dd>The content of the <code>bootloader</code> element provides <dd>The content of the <code>bootloader</code> element provides
a fully qualified path to the bootloader executable in the a fully qualified path to the bootloader executable in the
host OS. This bootloader will be run to choose which kernel host OS. This bootloader will be run to choose which kernel
to boot. The required output of the bootloader is dependent to boot. The required output of the bootloader is dependent
on the hypervisor in use. <span class="since">Since 0.1.0</span></dd> on the hypervisor in use. <span class="since">Since 0.1.0</span></dd>
<dt><code>bootloader_args</code></dt> <dt><code>bootloader_args</code></dt>
<dd>The optional <code>bootloader_args</code> element allows <dd>The optional <code>bootloader_args</code> element allows
command line arguments to be passed to the bootloader. command line arguments to be passed to the bootloader.
<span class="since">Since 0.2.3</span> <span class="since">Since 0.2.3</span>
</dd> </dd>
</dl> </dl>
@ -141,64 +141,64 @@
<pre> <pre>
... ...
&lt;os&gt; &lt;os&gt;
&lt;type&gt;hvm&lt;/type&gt; &lt;type&gt;hvm&lt;/type&gt;
&lt;loader&gt;/usr/lib/xen/boot/hvmloader&lt;/loader&gt; &lt;loader&gt;/usr/lib/xen/boot/hvmloader&lt;/loader&gt;
&lt;kernel&gt;/root/f8-i386-vmlinuz&lt;/kernel&gt; &lt;kernel&gt;/root/f8-i386-vmlinuz&lt;/kernel&gt;
&lt;initrd&gt;/root/f8-i386-initrd&lt;/initrd&gt; &lt;initrd&gt;/root/f8-i386-initrd&lt;/initrd&gt;
&lt;cmdline&gt;console=ttyS0 ks=http://example.com/f8-i386/os/&lt;/cmdline&gt; &lt;cmdline&gt;console=ttyS0 ks=http://example.com/f8-i386/os/&lt;/cmdline&gt;
&lt;/os&gt; &lt;/os&gt;
...</pre> ...</pre>
<dl> <dl>
<dt><code>type</code></dt> <dt><code>type</code></dt>
<dd>This element has the same semantics as described earlier in the <dd>This element has the same semantics as described earlier in the
<a href="#elementsOSBIOS">BIOS boot section</a></dd> <a href="#elementsOSBIOS">BIOS boot section</a></dd>
<dt><code>loader</code></dt> <dt><code>loader</code></dt>
<dd>This element has the same semantics as described earlier in the <dd>This element has the same semantics as described earlier in the
<a href="#elementsOSBIOS">BIOS boot section</a></dd> <a href="#elementsOSBIOS">BIOS boot section</a></dd>
<dt><code>kernel</code></dt> <dt><code>kernel</code></dt>
<dd>The contents of this element specify the fully-qualified path <dd>The contents of this element specify the fully-qualified path
to the kernel image in the host OS.</dd> to the kernel image in the host OS.</dd>
<dt><code>initrd</code></dt> <dt><code>initrd</code></dt>
<dd>The contents of this element specify the fully-qualified path <dd>The contents of this element specify the fully-qualified path
to the (optional) ramdisk image in the host OS.</dd> to the (optional) ramdisk image in the host OS.</dd>
<dt><code>cmdline</code></dt> <dt><code>cmdline</code></dt>
<dd>The contents of this element specify arguments to be passed to <dd>The contents of this element specify arguments to be passed to
the kernel (or installer) at boottime. This is often used to the kernel (or installer) at boottime. This is often used to
specify an alternate primary console (eg serial port), or the specify an alternate primary console (eg serial port), or the
installation media source / kickstart file</dd> installation media source / kickstart file</dd>
</dl> </dl>
<h3><a name="elementsResources">Basic resources</a></h3> <h3><a name="elementsResources">Basic resources</a></h3>
<pre> <pre>
... ...
&lt;memory&gt;524288&lt;/memory&gt; &lt;memory&gt;524288&lt;/memory&gt;
&lt;currentMemory&gt;524288&lt;/currentMemory&gt; &lt;currentMemory&gt;524288&lt;/currentMemory&gt;
&lt;memoryBacking&gt; &lt;memoryBacking&gt;
&lt;hugepages/&gt; &lt;hugepages/&gt;
&lt;/memoryBacking&gt; &lt;/memoryBacking&gt;
&lt;vcpu&gt;1&lt;/vcpu&gt; &lt;vcpu&gt;1&lt;/vcpu&gt;
...</pre> ...</pre>
<dl> <dl>
<dt><code>memory</code></dt> <dt><code>memory</code></dt>
<dd>The maximum allocation of memory for the guest at boot time. <dd>The maximum allocation of memory for the guest at boot time.
The units for this value are kilobytes (i.e. blocks of 1024 bytes)</dd> The units for this value are kilobytes (i.e. blocks of 1024 bytes)</dd>
<dt><code>currentMemory</code></dt> <dt><code>currentMemory</code></dt>
<dd>The actual allocation of memory for the guest. This value <dd>The actual allocation of memory for the guest. This value
be less than the maximum allocation, to allow for ballooning be less than the maximum allocation, to allow for ballooning
up the guests memory on the fly. If this is omitted, it defaults up the guests memory on the fly. If this is omitted, it defaults
to the same value as the <code>memory<code> element</dd> to the same value as the <code>memory<code> element</dd>
<dt><code>memoryBacking</code></dt> <dt><code>memoryBacking</code></dt>
<dd>The optional <code>memoryBacking</code> element, may have an <dd>The optional <code>memoryBacking</code> element, may have an
<code>hugepages</code> element set within it. This tells the <code>hugepages</code> element set within it. This tells the
hypervisor that the guest should have its memory allocated using hypervisor that the guest should have its memory allocated using
hugepages instead of the normal native page size.</dd> hugepages instead of the normal native page size.</dd>
<dt><code>vcpu</code></dt> <dt><code>vcpu</code></dt>
<dd>The content of this element defines the number of virtual <dd>The content of this element defines the number of virtual
CPUs allocated for the guest OS.</dd> CPUs allocated for the guest OS.</dd>
</dl> </dl>
<h3><a name="elementsLifecycle">Lifecycle control</a></h3> <h3><a name="elementsLifecycle">Lifecycle control</a></h3>
@ -214,21 +214,21 @@
<pre> <pre>
... ...
&lt;on_poweroff&gt;destroy&lt;/on_poweroff&gt; &lt;on_poweroff&gt;destroy&lt;/on_poweroff&gt;
&lt;on_reboot&gt;restart&lt;/on_reboot&gt; &lt;on_reboot&gt;restart&lt;/on_reboot&gt;
&lt;on_crash&gt;restart&lt;/on_crash&gt; &lt;on_crash&gt;restart&lt;/on_crash&gt;
...</pre> ...</pre>
<dl> <dl>
<dt><code>on_poweroff</code></dt> <dt><code>on_poweroff</code></dt>
<dd>The content of this element specifies the action to take when <dd>The content of this element specifies the action to take when
the guest requests a poweroff.</dd> the guest requests a poweroff.</dd>
<dt><code>on_reboot</code></dt> <dt><code>on_reboot</code></dt>
<dd>The content of this element specifies the action to take when <dd>The content of this element specifies the action to take when
the guest requests a reboot.</dd> the guest requests a reboot.</dd>
<dt><code>on_crash</code></dt> <dt><code>on_crash</code></dt>
<dd>The content of this element specifies the action to take when <dd>The content of this element specifies the action to take when
the guest crashes.</dd> the guest crashes.</dd>
</dl> </dl>
<p> <p>
@ -238,16 +238,16 @@
<dl> <dl>
<dt><code>destroy</code></dt> <dt><code>destroy</code></dt>
<dd>The domain will be terminated completely and all resources <dd>The domain will be terminated completely and all resources
released</dd> released</dd>
<dt><code>restart</code></dt> <dt><code>restart</code></dt>
<dd>The domain will be terminated, and then restarted with <dd>The domain will be terminated, and then restarted with
the same configuration</dd> the same configuration</dd>
<dt><code>preserve</code></dt> <dt><code>preserve</code></dt>
<dd>The domain will be terminated, and its resource preserved <dd>The domain will be terminated, and its resource preserved
to allow analysis.</dd> to allow analysis.</dd>
<dt><code>rename-restart</code></dt> <dt><code>rename-restart</code></dt>
<dd>The domain will be terminated, and then restarted with <dd>The domain will be terminated, and then restarted with
a new name</dd> a new name</dd>
</dl> </dl>
<h3><a name="elementsFeatures">Hypervisor features</a></h3> <h3><a name="elementsFeatures">Hypervisor features</a></h3>
@ -259,12 +259,12 @@
<pre> <pre>
... ...
&lt;features&gt; &lt;features&gt;
&lt;pae/&gt; &lt;pae/&gt;
&lt;acpi/&gt; &lt;acpi/&gt;
&lt;apic/&gt; &lt;apic/&gt;
&lt;/features&gt; &lt;/features&gt;
...</pre> ...</pre>
<p> <p>
All features are listed within the <code>features</code> All features are listed within the <code>features</code>
@ -277,10 +277,10 @@
<dl> <dl>
<dt><code>pae</code></dt> <dt><code>pae</code></dt>
<dd>Physical address extension mode allows 32-bit guests <dd>Physical address extension mode allows 32-bit guests
to address more than 4 GB of memory.</dd> to address more than 4 GB of memory.</dd>
<dt><code>acpi</code></dt> <dt><code>acpi</code></dt>
<dd>ACPI is useful for power management, for example, with <dd>ACPI is useful for power management, for example, with
KVM guests it is required for graceful shutdown to work. KVM guests it is required for graceful shutdown to work.
</dd> </dd>
</dl> </dl>
@ -296,13 +296,13 @@
<pre> <pre>
... ...
&lt;clock offset="localtime"/&gt; &lt;clock offset="localtime"/&gt;
...</pre> ...</pre>
<dl> <dl>
<dt><code>clock</code></dt> <dt><code>clock</code></dt>
<dd>The <code>offset</code> attribute takes either "utc" or <dd>The <code>offset</code> attribute takes either "utc" or
"localtime" to specify how the guest clock is initialized "localtime" to specify how the guest clock is initialized
in relation to the host OS. in relation to the host OS.
</dd> </dd>
</dl> </dl>
@ -318,17 +318,17 @@
<pre> <pre>
... ...
&lt;devices&gt; &lt;devices&gt;
&lt;emulator&gt;/usr/lib/xen/bin/qemu-dm&lt;/emulator&gt; &lt;emulator&gt;/usr/lib/xen/bin/qemu-dm&lt;/emulator&gt;
...</pre> ...</pre>
<dl> <dl>
<dt><code>emulator</code></dt> <dt><code>emulator</code></dt>
<dd> <dd>
The contents of the <code>emulator</code> element specify The contents of the <code>emulator</code> element specify
the fully qualified path to the device model emulator binary. the fully qualified path to the device model emulator binary.
The <a href="formatcaps.html">capabilities XML</a> specifies The <a href="formatcaps.html">capabilities XML</a> specifies
the recommended default emulator to use for each particular the recommended default emulator to use for each particular
domain type / architecture combination. domain type / architecture combination.
</dd> </dd>
</dl> </dl>
@ -342,47 +342,47 @@
<pre> <pre>
... ...
&lt;disk type='file'&gt; &lt;disk type='file'&gt;
&lt;driver name="tap" type="aio"&gt; &lt;driver name="tap" type="aio"&gt;
&lt;source file='/var/lib/xen/images/fv0'/&gt; &lt;source file='/var/lib/xen/images/fv0'/&gt;
&lt;target dev='hda' bus='ide'/&gt; &lt;target dev='hda' bus='ide'/&gt;
&lt;encryption type='...'&gt; &lt;encryption type='...'&gt;
... ...
&lt;/encryption&gt; &lt;/encryption&gt;
&lt;/disk&gt; &lt;/disk&gt;
...</pre> ...</pre>
<dl> <dl>
<dt><code>disk</code></dt> <dt><code>disk</code></dt>
<dd>The <code>disk</code> element is the main container for describing <dd>The <code>disk</code> element is the main container for describing
disks. The <code>type</code> attribute is either "file" or "block" disks. The <code>type</code> attribute is either "file" or "block"
and refers to the underlying source for the disk. The optional and refers to the underlying source for the disk. The optional
<code>device</code> attribute indicates how the disk is to be exposed <code>device</code> attribute indicates how the disk is to be exposed
to the guest OS. Possible values for this attribute are "floppy", "disk" to the guest OS. Possible values for this attribute are "floppy", "disk"
and "cdrom", defaulting to "disk". and "cdrom", defaulting to "disk".
<span class="since">Since 0.0.3; "device" attribute since 0.1.4</span></dd> <span class="since">Since 0.0.3; "device" attribute since 0.1.4</span></dd>
<dt><code>source</code></dt> <dt><code>source</code></dt>
<dd>If the disk <code>type</code> is "file", then the <code>file</code> attribute <dd>If the disk <code>type</code> is "file", then the <code>file</code> attribute
specifies the fully-qualified path to the file holding the disk. If the disk specifies the fully-qualified path to the file holding the disk. If the disk
<code>type</code> is "block", then the <code>dev</code> attribute specifies <code>type</code> is "block", then the <code>dev</code> attribute specifies
the path to the host device to serve as the disk. <span class="since">Since 0.0.3</span></dd> the path to the host device to serve as the disk. <span class="since">Since 0.0.3</span></dd>
<dt><code>target</code></dt> <dt><code>target</code></dt>
<dd>The <code>target</code> element controls the bus / device under which the <dd>The <code>target</code> element controls the bus / device under which the
disk is exposed to the guest OS. The <code>dev</code> attribute indicates disk is exposed to the guest OS. The <code>dev</code> attribute indicates
the "logical" device name. The actual device name specified is not guaranteed to map to the "logical" device name. The actual device name specified is not guaranteed to map to
the device name in the guest OS. Treat it as a device ordering hint. the device name in the guest OS. Treat it as a device ordering hint.
The optional <code>bus</code> attribute specifies the type of disk device The optional <code>bus</code> attribute specifies the type of disk device
to emulate; possible values are driver specific, with typical values being to emulate; possible values are driver specific, with typical values being
"ide", "scsi", "virtio", "xen" or "usb". If omitted, the bus type is "ide", "scsi", "virtio", "xen" or "usb". If omitted, the bus type is
inferred from the style of the device name. eg, a device named 'sda' inferred from the style of the device name. eg, a device named 'sda'
will typically be exported using a SCSI bus. will typically be exported using a SCSI bus.
<span class="since">Since 0.0.3; <code>bus</code> attribute since 0.4.3; <span class="since">Since 0.0.3; <code>bus</code> attribute since 0.4.3;
"usb" attribute value since after 0.4.4</span></dd> "usb" attribute value since after 0.4.4</span></dd>
<dt><code>driver</code></dt> <dt><code>driver</code></dt>
<dd>If the hypervisor supports multiple backend drivers, then the optional <dd>If the hypervisor supports multiple backend drivers, then the optional
<code>driver</code> element allows them to be selected. The <code>name</code> <code>driver</code> element allows them to be selected. The <code>name</code>
attribute is the primary backend driver name, while the optional <code>type</code> attribute is the primary backend driver name, while the optional <code>type</code>
attribute provides the sub-type. <span class="since">Since 0.1.8</span> attribute provides the sub-type. <span class="since">Since 0.1.8</span>
</dd> </dd>
<dt><code>encryption</code></dt> <dt><code>encryption</code></dt>
<dd>If present, specifies how the volume is encrypted. See <dd>If present, specifies how the volume is encrypted. See
@ -401,22 +401,22 @@
<pre> <pre>
... ...
&lt;hostdev mode='subsystem' type='usb'&gt; &lt;hostdev mode='subsystem' type='usb'&gt;
&lt;source&gt; &lt;source&gt;
&lt;vendor id='0x1234'/&gt; &lt;vendor id='0x1234'/&gt;
&lt;product id='0xbeef'/&gt; &lt;product id='0xbeef'/&gt;
&lt;/source&gt; &lt;/source&gt;
&lt;/hostdev&gt; &lt;/hostdev&gt;
...</pre> ...</pre>
<p>or:</p> <p>or:</p>
<pre> <pre>
... ...
&lt;hostdev mode='subsystem' type='pci'&gt; &lt;hostdev mode='subsystem' type='pci'&gt;
&lt;source&gt; &lt;source&gt;
&lt;address bus='0x06' slot='0x02' function='0x0'/&gt; &lt;address bus='0x06' slot='0x02' function='0x0'/&gt;
&lt;/source&gt; &lt;/source&gt;
&lt;/hostdev&gt; &lt;/hostdev&gt;
...</pre> ...</pre>
<dl> <dl>
<dt><code>hostdev</code></dt> <dt><code>hostdev</code></dt>
@ -457,12 +457,12 @@
<pre> <pre>
... ...
&lt;interface type='bridge'&gt; &lt;interface type='bridge'&gt;
&lt;source bridge='xenbr0'/&gt; &lt;source bridge='xenbr0'/&gt;
&lt;mac address='00:16:3e:5d:c7:9e'/&gt; &lt;mac address='00:16:3e:5d:c7:9e'/&gt;
&lt;script path='vif-bridge'/&gt; &lt;script path='vif-bridge'/&gt;
&lt;/interface&gt; &lt;/interface&gt;
...</pre> ...</pre>
<h5><a name="elementsNICSVirtual">Virtual network</a></h5> <h5><a name="elementsNICSVirtual">Virtual network</a></h5>
@ -663,16 +663,16 @@ qemu-kvm -net nic,model=? /dev/null
<pre> <pre>
... ...
&lt;input type='mouse' bus='usb'/&gt; &lt;input type='mouse' bus='usb'/&gt;
...</pre> ...</pre>
<dl> <dl>
<dt><code>input</code></dt> <dt><code>input</code></dt>
<dd>The <code>input</code> element has one mandatory attribute, the <code>type</code> <dd>The <code>input</code> element has one mandatory attribute, the <code>type</code>
whose value can be either 'mouse' or 'tablet'. The latter provides absolute whose value can be either 'mouse' or 'tablet'. The latter provides absolute
cursor movement, while the former uses relative movement. The optional cursor movement, while the former uses relative movement. The optional
<code>bus</code> attribute can be used to refine the exact device type. <code>bus</code> attribute can be used to refine the exact device type.
It takes values "xen" (paravirtualized), "ps2" and "usb".</dd> It takes values "xen" (paravirtualized), "ps2" and "usb".</dd>
</dl> </dl>
@ -687,11 +687,11 @@ qemu-kvm -net nic,model=? /dev/null
<pre> <pre>
... ...
&lt;graphics type='sdl' display=':0.0'/&gt; &lt;graphics type='sdl' display=':0.0'/&gt;
&lt;graphics type='vnc' port='5904'/&gt; &lt;graphics type='vnc' port='5904'/&gt;
&lt;graphics type='rdp' autoport='yes' multiUser='yes' /&gt; &lt;graphics type='rdp' autoport='yes' multiUser='yes' /&gt;
&lt;graphics type='desktop' fullscreen='yes'/&gt; &lt;graphics type='desktop' fullscreen='yes'/&gt;
...</pre> ...</pre>
<dl> <dl>
<dt><code>graphics</code></dt> <dt><code>graphics</code></dt>
@ -775,16 +775,16 @@ qemu-kvm -net nic,model=? /dev/null
<pre> <pre>
... ...
&lt;parallel type='pty'&gt; &lt;parallel type='pty'&gt;
&lt;source path='/dev/pts/2'/&gt; &lt;source path='/dev/pts/2'/&gt;
&lt;target port='0'/&gt; &lt;target port='0'/&gt;
&lt;/parallel&gt; &lt;/parallel&gt;
&lt;serial type='pty'&gt; &lt;serial type='pty'&gt;
&lt;source path='/dev/pts/3'/&gt; &lt;source path='/dev/pts/3'/&gt;
&lt;target port='0'/&gt; &lt;target port='0'/&gt;
&lt;/serial&gt; &lt;/serial&gt;
&lt;console type='pty'&gt; &lt;console type='pty'&gt;
&lt;source path='/dev/pts/4'/&gt; &lt;source path='/dev/pts/4'/&gt;
&lt;target port='0'/&gt; &lt;target port='0'/&gt;
&lt;/console&gt; &lt;/console&gt;
&lt;/devices&gt; &lt;/devices&gt;
&lt;/domain&gt;</pre> &lt;/domain&gt;</pre>
@ -797,17 +797,17 @@ qemu-kvm -net nic,model=? /dev/null
<dd>Represents a serial port</dd> <dd>Represents a serial port</dd>
<dt><code>console</code></dt> <dt><code>console</code></dt>
<dd>Represents the primary console. This can be the paravirtualized <dd>Represents the primary console. This can be the paravirtualized
console with Xen guests, or duplicates the primary serial port console with Xen guests, or duplicates the primary serial port
for fully virtualized guests without a paravirtualized console.</dd> for fully virtualized guests without a paravirtualized console.</dd>
<dt><code>source</code></dt> <dt><code>source</code></dt>
<dd>The attributes available for the <code>source</code> element <dd>The attributes available for the <code>source</code> element
vary according to the <code>type</code> attribute on the parent vary according to the <code>type</code> attribute on the parent
tag. Allowed variations will be described below</dd> tag. Allowed variations will be described below</dd>
<dt><code>target</code></dt> <dt><code>target</code></dt>
<dd>The port number of the character device is specified via the <dd>The port number of the character device is specified via the
<code>port</code> attribute, numbered starting from 1. There is <code>port</code> attribute, numbered starting from 1. There is
usually only one console device, and 0, 1 or 2 serial devices usually only one console device, and 0, 1 or 2 serial devices
or parallel devices. or parallel devices.
</dl> </dl>
<h5><a name="elementsCharSTDIO">Domain logfile</a></h5> <h5><a name="elementsCharSTDIO">Domain logfile</a></h5>
@ -1061,45 +1061,45 @@ qemu-kvm -net nic,model=? /dev/null
<dl> <dl>
<dt><code>model</code></dt> <dt><code>model</code></dt>
<dd> <dd>
<p> <p>
The required <code>model</code> attribute specifies what real The required <code>model</code> attribute specifies what real
watchdog device is emulated. Valid values are specific to the watchdog device is emulated. Valid values are specific to the
underlying hypervisor. underlying hypervisor.
</p> </p>
<p> <p>
QEMU and KVM support: QEMU and KVM support:
</p> </p>
<ul> <ul>
<li> 'i6300esb' &mdash; the recommended device, <li> 'i6300esb' &mdash; the recommended device,
emulating a PCI Intel 6300ESB </li> emulating a PCI Intel 6300ESB </li>
<li> 'ib700' &mdash; emulating an ISA iBase IB700 </li> <li> 'ib700' &mdash; emulating an ISA iBase IB700 </li>
</ul> </ul>
</dd> </dd>
<dt><code>action</code></dt> <dt><code>action</code></dt>
<dd> <dd>
<p> <p>
The optional <code>action</code> attribute describes what The optional <code>action</code> attribute describes what
action to take when the watchdog expires. Valid values are action to take when the watchdog expires. Valid values are
specific to the underlying hypervisor. specific to the underlying hypervisor.
</p> </p>
<p> <p>
QEMU and KVM support: QEMU and KVM support:
</p> </p>
<ul> <ul>
<li>'reset' &mdash; default, forcefully reset the guest</li> <li>'reset' &mdash; default, forcefully reset the guest</li>
<li>'shutdown' &mdash; gracefully shutdown the guest <li>'shutdown' &mdash; gracefully shutdown the guest
(not recommended) </li> (not recommended) </li>
<li>'poweroff' &mdash; forcefully power off the guest</li> <li>'poweroff' &mdash; forcefully power off the guest</li>
<li>'pause' &mdash; pause the guest</li> <li>'pause' &mdash; pause the guest</li>
<li>'none' &mdash; do nothing</li> <li>'none' &mdash; do nothing</li>
</ul> </ul>
<p> <p>
Note that the 'shutdown' action requires that the guest Note that the 'shutdown' action requires that the guest
is responsive to ACPI signals. In the sort of situations is responsive to ACPI signals. In the sort of situations
where the watchdog has expired, guests are usually unable where the watchdog has expired, guests are usually unable
to respond to ACPI signals. Therefore using 'shutdown' to respond to ACPI signals. Therefore using 'shutdown'
is not recommended. is not recommended.
</p> </p>
</dd> </dd>
</dl> </dl>

View File

@ -35,17 +35,17 @@
<dl> <dl>
<dt><code>name</code></dt> <dt><code>name</code></dt>
<dd>The content of the <code>name</code> element provides <dd>The content of the <code>name</code> element provides
a short name for the virtual network. This name should a short name for the virtual network. This name should
consist only of alpha-numeric characters and is required consist only of alpha-numeric characters and is required
to be unique within the scope of a single host. It is to be unique within the scope of a single host. It is
used to form the filename for storing the persistent used to form the filename for storing the persistent
configuration file. <span class="since">Since 0.3.0</span></dd> configuration file. <span class="since">Since 0.3.0</span></dd>
<dt><code>uuid</code></dt> <dt><code>uuid</code></dt>
<dd>The content of the <code>uuid</code> element provides <dd>The content of the <code>uuid</code> element provides
a globally unique identifier for the virtual network. a globally unique identifier for the virtual network.
The format must be RFC 4122 compliant, eg <code>3e3fce45-4f53-4fa7-bb32-11f34168b82b</code>. The format must be RFC 4122 compliant, eg <code>3e3fce45-4f53-4fa7-bb32-11f34168b82b</code>.
If omitted when defining/creating a new network, a random If omitted when defining/creating a new network, a random
UUID is generated. <span class="since">Since 0.3.0</span></dd> UUID is generated. <span class="since">Since 0.3.0</span></dd>
</dl> </dl>
<h3><a name="elementsConnect">Connectivity</a></h3> <h3><a name="elementsConnect">Connectivity</a></h3>
@ -58,32 +58,32 @@
<pre> <pre>
... ...
&lt;bridge name="virbr0" /&gt; &lt;bridge name="virbr0" /&gt;
&lt;forward mode="nat" dev="eth0"/&gt; &lt;forward mode="nat" dev="eth0"/&gt;
...</pre> ...</pre>
<dl> <dl>
<dt><code>bridge</code></dt> <dt><code>bridge</code></dt>
<dd>The <code>name</code> attribute on the <code>bridge</code> element <dd>The <code>name</code> attribute on the <code>bridge</code> element
defines the name of a bridge device which will be used to construct defines the name of a bridge device which will be used to construct
the virtual network. The virtual machines will be connected to this the virtual network. The virtual machines will be connected to this
bridge device allowing them to talk to each other. The bridge device bridge device allowing them to talk to each other. The bridge device
may also be connected to the LAN. It is recommended that bridge may also be connected to the LAN. It is recommended that bridge
device names started with the prefix <code>vir</code>, but the name device names started with the prefix <code>vir</code>, but the name
<code>virbr0</code> is reserved for the "default" virtual network. <code>virbr0</code> is reserved for the "default" virtual network.
This element should always be provided when defining a new network. This element should always be provided when defining a new network.
<span class="since">Since 0.3.0</span> <span class="since">Since 0.3.0</span>
</dd> </dd>
<dt><code>forward</code></dt> <dt><code>forward</code></dt>
<dd>Inclusion of the <code>forward</code> element indicates that <dd>Inclusion of the <code>forward</code> element indicates that
the virtual network is to be connected to the physical LAN. If the virtual network is to be connected to the physical LAN. If
no attributes are set, NAT forwarding will be used for connectivity. no attributes are set, NAT forwarding will be used for connectivity.
Firewall rules will allow forwarding to any other network device whether Firewall rules will allow forwarding to any other network device whether
ethernet, wireless, dialup, or VPN. If the <code>dev</code> attribute ethernet, wireless, dialup, or VPN. If the <code>dev</code> attribute
is set, the firewall rules will restrict forwarding to the named is set, the firewall rules will restrict forwarding to the named
device only. If the <code>mode</code> attribute is set to <code>route</code> device only. If the <code>mode</code> attribute is set to <code>route</code>
then the traffic will not have NAT applied. This presumes that the then the traffic will not have NAT applied. This presumes that the
local LAN router has suitable routing table entries to return traffic local LAN router has suitable routing table entries to return traffic
to this host. <span class="since">Since 0.3.0; 'mode' attribute since to this host. <span class="since">Since 0.3.0; 'mode' attribute since
0.4.2</span></dd> 0.4.2</span></dd>
</dl> </dl>
@ -96,50 +96,50 @@
<pre> <pre>
... ...
&lt;ip address="192.168.122.1" netmask="255.255.255.0"&gt; &lt;ip address="192.168.122.1" netmask="255.255.255.0"&gt;
&lt;dhcp&gt; &lt;dhcp&gt;
&lt;range start="192.168.122.100" end="192.168.122.254" /&gt; &lt;range start="192.168.122.100" end="192.168.122.254" /&gt;
&lt;host mac="00:16:3e:77:e2:ed" name="foo.example.com" ip="192.168.122.10" /&gt; &lt;host mac="00:16:3e:77:e2:ed" name="foo.example.com" ip="192.168.122.10" /&gt;
&lt;host mac="00:16:3e:3e:a9:1a" name="bar.example.com" ip="192.168.122.11" /&gt; &lt;host mac="00:16:3e:3e:a9:1a" name="bar.example.com" ip="192.168.122.11" /&gt;
&lt;/dhcp&gt; &lt;/dhcp&gt;
&lt;/ip&gt; &lt;/ip&gt;
&lt;/network&gt;</pre> &lt;/network&gt;</pre>
<dl> <dl>
<dt><code>ip</code></dt> <dt><code>ip</code></dt>
<dd>The <code>address</code> attribute defines an IPv4 address in <dd>The <code>address</code> attribute defines an IPv4 address in
dotted-decimal format, that will be configured on the bridge dotted-decimal format, that will be configured on the bridge
device associated with the virtual network. To the guests this device associated with the virtual network. To the guests this
address will be their default route. The <code>netmask</code> address will be their default route. The <code>netmask</code>
attribute defines the significant bits of the network address, attribute defines the significant bits of the network address,
again specified in dotted-decimal format. <span class="since">Since 0.3.0</span> again specified in dotted-decimal format. <span class="since">Since 0.3.0</span>
</dd><dt><code>tftp</code></dt><dd>Immediately within </dd><dt><code>tftp</code></dt><dd>Immediately within
the <code>ip</code> element there is an optional <code>tftp</code> the <code>ip</code> element there is an optional <code>tftp</code>
element. The presence of this element and of its attribute element. The presence of this element and of its attribute
<code>root</code> enables TFTP services. The attribute specifies <code>root</code> enables TFTP services. The attribute specifies
the path to the root directory served via TFTP. the path to the root directory served via TFTP.
<span class="since">Since 0.7.1</span> <span class="since">Since 0.7.1</span>
</dd><dt><code>dhcp</code></dt><dd>Also within the <code>ip</code> element there is an </dd><dt><code>dhcp</code></dt><dd>Also within the <code>ip</code> element there is an
optional <code>dhcp</code> element. The presence of this element optional <code>dhcp</code> element. The presence of this element
enables DHCP services on the virtual network. It will further enables DHCP services on the virtual network. It will further
contain one or more <code>range</code> elements. contain one or more <code>range</code> elements.
<span class="since">Since 0.3.0</span> <span class="since">Since 0.3.0</span>
</dd> </dd>
<dt><code>range</code></dt> <dt><code>range</code></dt>
<dd>The <code>start</code> and <code>end</code> attributes on the <dd>The <code>start</code> and <code>end</code> attributes on the
<code>range</code> element specify the boundaries of a pool of <code>range</code> element specify the boundaries of a pool of
IPv4 addresses to be provided to DHCP clients. These two addresses IPv4 addresses to be provided to DHCP clients. These two addresses
must lie within the scope of the network defined on the parent must lie within the scope of the network defined on the parent
<code>ip</code> element. <span class="since">Since 0.3.0</span> <code>ip</code> element. <span class="since">Since 0.3.0</span>
</dd> </dd>
<dt><code>host</code></dt> <dt><code>host</code></dt>
<dd>Within the <code>dhcp</code> element there may be zero or more <dd>Within the <code>dhcp</code> element there may be zero or more
<code>host</code> elements; these specify hosts which will be given <code>host</code> elements; these specify hosts which will be given
names and predefined IP addresses by the built-in DHCP server. Any names and predefined IP addresses by the built-in DHCP server. Any
such element must specify the MAC address of the host to be assigned such element must specify the MAC address of the host to be assigned
a given name (via the <code>mac</code> attribute), the IP to be a given name (via the <code>mac</code> attribute), the IP to be
assigned to that host (via the <code>ip</code> attribute), and the assigned to that host (via the <code>ip</code> attribute), and the
name to be given that host by the DHCP server (via the name to be given that host by the DHCP server (via the
<code>name</code> attribute). <span class="since">Since 0.4.5</span> <code>name</code> attribute). <span class="since">Since 0.4.5</span>
</dd><dt><code>bootp</code></dt><dd>The optional <code>bootp</code> </dd><dt><code>bootp</code></dt><dd>The optional <code>bootp</code>
element specifies BOOTP options to be provided by the DHCP server. element specifies BOOTP options to be provided by the DHCP server.
@ -170,14 +170,14 @@
<pre> <pre>
&lt;network&gt; &lt;network&gt;
&lt;name&gt;default&lt;/name&gt; &lt;name&gt;default&lt;/name&gt;
&lt;bridge name="virbr0" /&gt; &lt;bridge name="virbr0" /&gt;
&lt;forward mode="nat"/&gt; &lt;forward mode="nat"/&gt;
&lt;ip address="192.168.122.1" netmask="255.255.255.0"&gt; &lt;ip address="192.168.122.1" netmask="255.255.255.0"&gt;
&lt;dhcp&gt; &lt;dhcp&gt;
&lt;range start="192.168.122.2" end="192.168.122.254" /&gt; &lt;range start="192.168.122.2" end="192.168.122.254" /&gt;
&lt;/dhcp&gt; &lt;/dhcp&gt;
&lt;/ip&gt; &lt;/ip&gt;
&lt;/network&gt;</pre> &lt;/network&gt;</pre>
<h3><a name="examplesRoute">Routed network config</a></h3> <h3><a name="examplesRoute">Routed network config</a></h3>
@ -193,14 +193,14 @@
<pre> <pre>
&lt;network&gt; &lt;network&gt;
&lt;name&gt;local&lt;/name&gt; &lt;name&gt;local&lt;/name&gt;
&lt;bridge name="virbr1" /&gt; &lt;bridge name="virbr1" /&gt;
&lt;forward mode="route" dev="eth1"/&gt; &lt;forward mode="route" dev="eth1"/&gt;
&lt;ip address="192.168.122.1" netmask="255.255.255.0"&gt; &lt;ip address="192.168.122.1" netmask="255.255.255.0"&gt;
&lt;dhcp&gt; &lt;dhcp&gt;
&lt;range start="192.168.122.2" end="192.168.122.254" /&gt; &lt;range start="192.168.122.2" end="192.168.122.254" /&gt;
&lt;/dhcp&gt; &lt;/dhcp&gt;
&lt;/ip&gt; &lt;/ip&gt;
&lt;/network&gt;</pre> &lt;/network&gt;</pre>
<h3><a name="examplesPrivate">Isolated network config</a></h3> <h3><a name="examplesPrivate">Isolated network config</a></h3>
@ -215,13 +215,13 @@
<pre> <pre>
&lt;network&gt; &lt;network&gt;
&lt;name&gt;private&lt;/name&gt; &lt;name&gt;private&lt;/name&gt;
&lt;bridge name="virbr2" /&gt; &lt;bridge name="virbr2" /&gt;
&lt;ip address="192.168.152.1" netmask="255.255.255.0"&gt; &lt;ip address="192.168.152.1" netmask="255.255.255.0"&gt;
&lt;dhcp&gt; &lt;dhcp&gt;
&lt;range start="192.168.152.2" end="192.168.152.254" /&gt; &lt;range start="192.168.152.2" end="192.168.152.254" /&gt;
&lt;/dhcp&gt; &lt;/dhcp&gt;
&lt;/ip&gt; &lt;/ip&gt;
&lt;/network&gt;</pre> &lt;/network&gt;</pre>
</body> </body>

View File

@ -37,10 +37,10 @@
</dd> </dd>
<dt><code>usage</code></dt> <dt><code>usage</code></dt>
<dd> <dd>
Specifies what this secret is used for. A mandatory Specifies what this secret is used for. A mandatory
<code>type</code> attribute specifies the usage category, currently <code>type</code> attribute specifies the usage category, currently
only <code>volume</code> is defined. Specific usage categories are only <code>volume</code> is defined. Specific usage categories are
described below. described below.
</dd> </dd>
</dl> </dl>

View File

@ -34,27 +34,27 @@
<dl> <dl>
<dt><code>name</code></dt> <dt><code>name</code></dt>
<dd>Providing a name for the pool which is unique to the host. <dd>Providing a name for the pool which is unique to the host.
This is mandatory when defining a pool. <span class="since">Since 0.4.1</span></dd> This is mandatory when defining a pool. <span class="since">Since 0.4.1</span></dd>
<dt><code>uuid</code></dt> <dt><code>uuid</code></dt>
<dd>Providing an identifier for the pool which is globally unique. <dd>Providing an identifier for the pool which is globally unique.
This is optional when defining a pool, a UUID will be generated if This is optional when defining a pool, a UUID will be generated if
omitted. <span class="since">Since 0.4.1</span></dd> omitted. <span class="since">Since 0.4.1</span></dd>
<dt><code>allocation</code></dt> <dt><code>allocation</code></dt>
<dd>Providing the total storage allocation for the pool. This may <dd>Providing the total storage allocation for the pool. This may
be larger than the sum of the allocation of all volumes due to be larger than the sum of the allocation of all volumes due to
metadata overhead. This value is in bytes. This is not applicable metadata overhead. This value is in bytes. This is not applicable
when creating a pool. <span class="since">Since 0.4.1</span></dd> when creating a pool. <span class="since">Since 0.4.1</span></dd>
<dt><code>capacity</code></dt> <dt><code>capacity</code></dt>
<dd>Providing the total storage capacity for the pool. Due to <dd>Providing the total storage capacity for the pool. Due to
underlying device constraints it may not be possible to use the underlying device constraints it may not be possible to use the
full capacity for storage volumes. This value is in bytes. This full capacity for storage volumes. This value is in bytes. This
is not applicable when creating a pool. <span class="since">Since 0.4.1</span></dd> is not applicable when creating a pool. <span class="since">Since 0.4.1</span></dd>
<dt><code>available</code></dt> <dt><code>available</code></dt>
<dd>Providing the free space available for allocating new volumes <dd>Providing the free space available for allocating new volumes
in the pool. Due to underlying device constraints it may not be in the pool. Due to underlying device constraints it may not be
possible to allocate the entire free space to a single volume. possible to allocate the entire free space to a single volume.
This value is in bytes. This is not applicable when creating a This value is in bytes. This is not applicable when creating a
pool. <span class="since">Since 0.4.1</span></dd> pool. <span class="since">Since 0.4.1</span></dd>
</dl> </dl>
<h3><a name="StoragePoolSource">Source elements</a></h3> <h3><a name="StoragePoolSource">Source elements</a></h3>
@ -71,38 +71,38 @@
&lt;host name="iscsi.example.com"/&gt; &lt;host name="iscsi.example.com"/&gt;
&lt;device path="demo-target"/&gt; &lt;device path="demo-target"/&gt;
&lt;/source&gt; &lt;/source&gt;
...</pre> ...</pre>
<dl> <dl>
<dt><code>device</code></dt> <dt><code>device</code></dt>
<dd>Provides the source for pools backed by physical devices. <dd>Provides the source for pools backed by physical devices.
May be repeated multiple times depending on backend driver. Contains May be repeated multiple times depending on backend driver. Contains
a single attribute <code>path</code> which is the fully qualified a single attribute <code>path</code> which is the fully qualified
path to the block device node. <span class="since">Since 0.4.1</span></dd> path to the block device node. <span class="since">Since 0.4.1</span></dd>
<dt><code>directory</code></dt> <dt><code>directory</code></dt>
<dd>Provides the source for pools backed by directories. May <dd>Provides the source for pools backed by directories. May
only occur once. Contains a single attribute <code>path</code> only occur once. Contains a single attribute <code>path</code>
which is the fully qualified path to the block device node. which is the fully qualified path to the block device node.
<span class="since">Since 0.4.1</span></dd> <span class="since">Since 0.4.1</span></dd>
<dt><code>host</code></dt> <dt><code>host</code></dt>
<dd>Provides the source for pools backed by storage from a <dd>Provides the source for pools backed by storage from a
remote server. Will be used in combination with a <code>directory</code> remote server. Will be used in combination with a <code>directory</code>
or <code>device</code> element. Contains an attribute <code>name</code> or <code>device</code> element. Contains an attribute <code>name</code>
which is the hostname or IP address of the server. May optionally which is the hostname or IP address of the server. May optionally
contain a <code>port</code> attribute for the protocol specific contain a <code>port</code> attribute for the protocol specific
port number. <span class="since">Since 0.4.1</span></dd> port number. <span class="since">Since 0.4.1</span></dd>
<dt><code>name</code></dt> <dt><code>name</code></dt>
<dd>Provides the source for pools backed by storage from a <dd>Provides the source for pools backed by storage from a
named element (e.g., a logical volume group name). named element (e.g., a logical volume group name).
remote server. Contains a string identifier. remote server. Contains a string identifier.
<span class="since">Since 0.4.5</span></dd> <span class="since">Since 0.4.5</span></dd>
<dt><code>format</code></dt> <dt><code>format</code></dt>
<dd>Provides information about the format of the pool. This <dd>Provides information about the format of the pool. This
contains a single attribute <code>type</code> whose value is contains a single attribute <code>type</code> whose value is
backend specific. This is typically used to indicate filesystem backend specific. This is typically used to indicate filesystem
type, or network filesystem type, or partition table type, or type, or network filesystem type, or partition table type, or
LVM metadata type. All drivers are required to have a default LVM metadata type. All drivers are required to have a default
value for this, so it is optional. <span class="since">Since 0.4.1</span></dd> value for this, so it is optional. <span class="since">Since 0.4.1</span></dd>
</dl> </dl>
<h3><a name="StoragePoolTarget">Target elements</a></h3> <h3><a name="StoragePoolTarget">Target elements</a></h3>
@ -133,27 +133,27 @@
<dl> <dl>
<dt><code>path</code></dt> <dt><code>path</code></dt>
<dd>Provides the location at which the pool will be mapped into <dd>Provides the location at which the pool will be mapped into
the local filesystem namespace. For a filesystem/directory based the local filesystem namespace. For a filesystem/directory based
pool it will be the name of the directory in which volumes will pool it will be the name of the directory in which volumes will
be created. For device based pools it will be the name of the directory in which be created. For device based pools it will be the name of the directory in which
devices nodes exist. For the latter <code>/dev/</code> may seem devices nodes exist. For the latter <code>/dev/</code> may seem
like the logical choice, however, devices nodes there are not like the logical choice, however, devices nodes there are not
guaranteed stable across reboots, since they are allocated on guaranteed stable across reboots, since they are allocated on
demand. It is preferable to use a stable location such as one demand. It is preferable to use a stable location such as one
of the <code>/dev/disk/by-{path,id,uuid,label</code> locations. of the <code>/dev/disk/by-{path,id,uuid,label</code> locations.
<span class="since">Since 0.4.1</span> <span class="since">Since 0.4.1</span>
</dd> </dd>
<dt><code>permissions</code></dt> <dt><code>permissions</code></dt>
<dd>Provides information about the default permissions to use <dd>Provides information about the default permissions to use
when creating volumes. This is currently only useful for directory when creating volumes. This is currently only useful for directory
or filesystem based pools, where the volumes allocated are simple or filesystem based pools, where the volumes allocated are simple
files. For pools where the volumes are device nodes, the hotplug files. For pools where the volumes are device nodes, the hotplug
scripts determine permissions. It contains 4 child elements. The scripts determine permissions. It contains 4 child elements. The
<code>mode</code> element contains the octal permission set. The <code>mode</code> element contains the octal permission set. The
<code>owner</code> element contains the numeric user ID. The <code>group</code> <code>owner</code> element contains the numeric user ID. The <code>group</code>
element contains the numeric group ID. The <code>label</code> element element contains the numeric group ID. The <code>label</code> element
contains the MAC (eg SELinux) label string. contains the MAC (eg SELinux) label string.
<span class="since">Since 0.4.1</span> <span class="since">Since 0.4.1</span>
</dd> </dd>
<dt><code>encryption</code></dt> <dt><code>encryption</code></dt>
<dd>If present, specifies how the volume is encrypted. See <dd>If present, specifies how the volume is encrypted. See
@ -192,41 +192,41 @@
<pre> <pre>
&lt;volume&gt; &lt;volume&gt;
&lt;name&gt;sparse.img&lt;/name&gt; &lt;name&gt;sparse.img&lt;/name&gt;
&lt;key&gt;/var/lib/xen/images/sparse.img&lt;/key&gt; &lt;key&gt;/var/lib/xen/images/sparse.img&lt;/key&gt;
&lt;allocation&gt;0&lt;/allocation&gt; &lt;allocation&gt;0&lt;/allocation&gt;
&lt;capacity unit="T"&gt;1&lt;/capacity&gt; &lt;capacity unit="T"&gt;1&lt;/capacity&gt;
...</pre> ...</pre>
<dl> <dl>
<dt><code>name</code></dt> <dt><code>name</code></dt>
<dd>Providing a name for the volume which is unique to the pool. <dd>Providing a name for the volume which is unique to the pool.
This is mandatory when defining a volume. <span class="since">Since 0.4.1</span></dd> This is mandatory when defining a volume. <span class="since">Since 0.4.1</span></dd>
<dt><code>key</code></dt> <dt><code>key</code></dt>
<dd>Providing an identifier for the volume which is globally unique. <dd>Providing an identifier for the volume which is globally unique.
This is optional when defining a volume, a key will be generated if This is optional when defining a volume, a key will be generated if
omitted. <span class="since">Since 0.4.1</span></dd> omitted. <span class="since">Since 0.4.1</span></dd>
<dt><code>allocation</code></dt> <dt><code>allocation</code></dt>
<dd>Providing the total storage allocation for the volume. This <dd>Providing the total storage allocation for the volume. This
may be smaller than the logical capacity if the volume is sparsely may be smaller than the logical capacity if the volume is sparsely
allocated. It may also be larger than the logical capacity if the allocated. It may also be larger than the logical capacity if the
volume has substantial metadata overhead. This value is in bytes. volume has substantial metadata overhead. This value is in bytes.
If omitted when creating a volume, the volume will be fully If omitted when creating a volume, the volume will be fully
allocated at time of creation. If set to a value smaller than the allocated at time of creation. If set to a value smaller than the
capacity, the pool has the <strong>option</strong> of deciding capacity, the pool has the <strong>option</strong> of deciding
to sparsely allocate a volume. It does not have to honour requests to sparsely allocate a volume. It does not have to honour requests
for sparse allocation though. <span class="since">Since 0.4.1</span></dd> for sparse allocation though. <span class="since">Since 0.4.1</span></dd>
<dt><code>capacity</code></dt> <dt><code>capacity</code></dt>
<dd>Providing the logical capacity for the volume. This value is <dd>Providing the logical capacity for the volume. This value is
in bytes. This is compulsory when creating a volume. in bytes. This is compulsory when creating a volume.
<span class="since">Since 0.4.1</span></dd> <span class="since">Since 0.4.1</span></dd>
<dt><code>source</code></dt> <dt><code>source</code></dt>
<dd>Provides information about the underlying storage allocation <dd>Provides information about the underlying storage allocation
of the volume. This may not be available for some pool types. of the volume. This may not be available for some pool types.
<span class="since">Since 0.4.1</span></dd> <span class="since">Since 0.4.1</span></dd>
<dt><code>target</code></dt> <dt><code>target</code></dt>
<dd>Provides information about the representation of the volume <dd>Provides information about the representation of the volume
on the local host. <span class="since">Since 0.4.1</span></dd> on the local host. <span class="since">Since 0.4.1</span></dd>
</dl> </dl>
<h3><a name="StorageVolTarget">Target elements</a></h3> <h3><a name="StorageVolTarget">Target elements</a></h3>
@ -240,7 +240,7 @@
<pre> <pre>
... ...
&lt;target&gt; &lt;target&gt;
&lt;path&gt;/var/lib/virt/images/sparse.img&lt;/path&gt; &lt;path&gt;/var/lib/virt/images/sparse.img&lt;/path&gt;
&lt;format type='qcow2'/&gt; &lt;format type='qcow2'/&gt;
&lt;permissions&gt; &lt;permissions&gt;
@ -249,33 +249,33 @@
&lt;mode&gt;0744&lt;/mode&gt; &lt;mode&gt;0744&lt;/mode&gt;
&lt;label&gt;virt_image_t&lt;/label&gt; &lt;label&gt;virt_image_t&lt;/label&gt;
&lt;/permissions&gt; &lt;/permissions&gt;
&lt;/target&gt;</pre> &lt;/target&gt;</pre>
<dl> <dl>
<dt><code>path</code></dt> <dt><code>path</code></dt>
<dd>Provides the location at which the volume can be accessed on <dd>Provides the location at which the volume can be accessed on
the local filesystem, as an absolute path. This is a readonly the local filesystem, as an absolute path. This is a readonly
attribute, so shouldn't be specified when creating a volume. attribute, so shouldn't be specified when creating a volume.
<span class="since">Since 0.4.1</span></dd> <span class="since">Since 0.4.1</span></dd>
<dt><code>format</code></dt> <dt><code>format</code></dt>
<dd>Provides information about the pool specific volume format. <dd>Provides information about the pool specific volume format.
For disk pools it will provide the partition type. For filesystem For disk pools it will provide the partition type. For filesystem
or directory pools it will provide the file format type, eg cow, or directory pools it will provide the file format type, eg cow,
qcow, vmdk, raw. If omitted when creating a volume, the pool's qcow, vmdk, raw. If omitted when creating a volume, the pool's
default format will be used. The actual format is specified via default format will be used. The actual format is specified via
the <code>type</code> attribute. Consult the pool-specific docs for the <code>type</code> attribute. Consult the pool-specific docs for
the list of valid values. <span class="since">Since 0.4.1</span></dd> the list of valid values. <span class="since">Since 0.4.1</span></dd>
<dt><code>permissions</code></dt> <dt><code>permissions</code></dt>
<dd>Provides information about the default permissions to use <dd>Provides information about the default permissions to use
when creating volumes. This is currently only useful for directory when creating volumes. This is currently only useful for directory
or filesystem based pools, where the volumes allocated are simple or filesystem based pools, where the volumes allocated are simple
files. For pools where the volumes are device nodes, the hotplug files. For pools where the volumes are device nodes, the hotplug
scripts determine permissions. It contains 4 child elements. The scripts determine permissions. It contains 4 child elements. The
<code>mode</code> element contains the octal permission set. The <code>mode</code> element contains the octal permission set. The
<code>owner</code> element contains the numeric user ID. The <code>group</code> <code>owner</code> element contains the numeric user ID. The <code>group</code>
element contains the numeric group ID. The <code>label</code> element element contains the numeric group ID. The <code>label</code> element
contains the MAC (eg SELinux) label string. contains the MAC (eg SELinux) label string.
<span class="since">Since 0.4.1</span> <span class="since">Since 0.4.1</span>
</dd> </dd>
</dl> </dl>
@ -305,25 +305,25 @@
<dl> <dl>
<dt><code>path</code></dt> <dt><code>path</code></dt>
<dd>Provides the location at which the backing store can be accessed on <dd>Provides the location at which the backing store can be accessed on
the local filesystem, as an absolute path. If omitted, there is no the local filesystem, as an absolute path. If omitted, there is no
backing store for this volume. backing store for this volume.
<span class="since">Since 0.6.0</span></dd> <span class="since">Since 0.6.0</span></dd>
<dt><code>format</code></dt> <dt><code>format</code></dt>
<dd>Provides information about the pool specific backing store format. <dd>Provides information about the pool specific backing store format.
For disk pools it will provide the partition type. For filesystem For disk pools it will provide the partition type. For filesystem
or directory pools it will provide the file format type, eg cow, or directory pools it will provide the file format type, eg cow,
qcow, vmdk, raw. Consult the pool-specific docs for the list of valid qcow, vmdk, raw. Consult the pool-specific docs for the list of valid
values. Most file formats require a backing store of the same format, values. Most file formats require a backing store of the same format,
however, the qcow2 format allows a different backing store format. however, the qcow2 format allows a different backing store format.
<span class="since">Since 0.6.0</span></dd> <span class="since">Since 0.6.0</span></dd>
<dt><code>permissions</code></dt> <dt><code>permissions</code></dt>
<dd>Provides information about the permissions of the backing file. <dd>Provides information about the permissions of the backing file.
It contains 4 child elements. The It contains 4 child elements. The
<code>mode</code> element contains the octal permission set. The <code>mode</code> element contains the octal permission set. The
<code>owner</code> element contains the numeric user ID. The <code>group</code> <code>owner</code> element contains the numeric user ID. The <code>group</code>
element contains the numeric group ID. The <code>label</code> element element contains the numeric group ID. The <code>label</code> element
contains the MAC (eg SELinux) label string. contains the MAC (eg SELinux) label string.
<span class="since">Since 0.6.0</span> <span class="since">Since 0.6.0</span>
</dd> </dd>
</dl> </dl>
@ -362,10 +362,10 @@
<pre> <pre>
&lt;volume&gt; &lt;volume&gt;
&lt;name&gt;sparse.img&lt;/name&gt; &lt;name&gt;sparse.img&lt;/name&gt;
&lt;allocation&gt;0&lt;/allocation&gt; &lt;allocation&gt;0&lt;/allocation&gt;
&lt;capacity unit="T"&gt;1&lt;/capacity&gt; &lt;capacity unit="T"&gt;1&lt;/capacity&gt;
&lt;target&gt; &lt;target&gt;
&lt;path&gt;/var/lib/virt/images/sparse.img&lt;/path&gt; &lt;path&gt;/var/lib/virt/images/sparse.img&lt;/path&gt;
&lt;permissions&gt; &lt;permissions&gt;
&lt;owner&gt;0744&lt;/owner&gt; &lt;owner&gt;0744&lt;/owner&gt;
@ -373,7 +373,7 @@
&lt;mode&gt;0744&lt;/mode&gt; &lt;mode&gt;0744&lt;/mode&gt;
&lt;label&gt;virt_image_t&lt;/label&gt; &lt;label&gt;virt_image_t&lt;/label&gt;
&lt;/permissions&gt; &lt;/permissions&gt;
&lt;/target&gt; &lt;/target&gt;
&lt;/volume&gt;</pre> &lt;/volume&gt;</pre>
</body> </body>
</html> </html>

View File

@ -8,50 +8,50 @@
<ol> <ol>
<li>Discuss any large changes on the mailing list first. Post patches <li>Discuss any large changes on the mailing list first. Post patches
early and listen to feedback.</li> early and listen to feedback.</li>
<li><p>Post patches in unified diff format. A command similar to this <li><p>Post patches in unified diff format. A command similar to this
should work:</p> should work:</p>
<pre> <pre>
diff -urp libvirt.orig/ libvirt.modified/ &gt; libvirt-myfeature.patch diff -urp libvirt.orig/ libvirt.modified/ &gt; libvirt-myfeature.patch
</pre> </pre>
<p> <p>
or: or:
</p> </p>
<pre> <pre>
cvs diff -up > libvirt-myfeature.patch cvs diff -up > libvirt-myfeature.patch
</pre></li> </pre></li>
<li>Split large changes into a series of smaller patches, self-contained <li>Split large changes into a series of smaller patches, self-contained
if possible, with an explanation of each patch and an explanation of how if possible, with an explanation of each patch and an explanation of how
the sequence of patches fits together.</li> the sequence of patches fits together.</li>
<li>Make sure your patches apply against libvirt CVS. Developers <li>Make sure your patches apply against libvirt CVS. Developers
only follow CVS and don't care much about released versions.</li> only follow CVS and don't care much about released versions.</li>
<li><p>Run the automated tests on your code before submitting any changes. <li><p>Run the automated tests on your code before submitting any changes.
In particular, configure with compile warnings set to -Werror:</p> In particular, configure with compile warnings set to -Werror:</p>
<pre> <pre>
./configure --enable-compile-warnings=error ./configure --enable-compile-warnings=error
</pre> </pre>
<p> <p>
and run the tests: and run the tests:
</p> </p>
<pre> <pre>
make check make check
make syntax-check make syntax-check
make -C tests valgrind make -C tests valgrind
</pre> </pre>
<p> <p>
The latter test checks for memory leaks. The latter test checks for memory leaks.
</p> </p>
<li>Update tests and/or documentation, particularly if you are adding <li>Update tests and/or documentation, particularly if you are adding
a new feature or changing the output of a program.</li> a new feature or changing the output of a program.</li>
</ol> </ol>
<p> <p>
There is more on this subject, including lots of links to background There is more on this subject, including lots of links to background
reading on the subject, on reading on the subject, on
<a href="http://et.redhat.com/~rjones/how-to-supply-code-to-open-source-projects/"> <a href="http://et.redhat.com/~rjones/how-to-supply-code-to-open-source-projects/">
Richard Jones' guide to working with open source projects</a> Richard Jones' guide to working with open source projects</a>
</p> </p>
@ -77,8 +77,8 @@
(setq c-indent-level 4) (setq c-indent-level 4)
(setq c-basic-offset 4)) (setq c-basic-offset 4))
(add-hook 'c-mode-hook (add-hook 'c-mode-hook
'(lambda () (if (string-match "/libvirt" (buffer-file-name)) '(lambda () (if (string-match "/libvirt" (buffer-file-name))
(libvirt-c-mode)))) (libvirt-c-mode))))
</pre> </pre>
<h2><a name="formatting">Code formatting (especially for new code)</a></h2> <h2><a name="formatting">Code formatting (especially for new code)</a></h2>
@ -118,30 +118,30 @@
<ul> <ul>
<li>If you're using "int" or "long", odds are good that there's a better type.</li> <li>If you're using "int" or "long", odds are good that there's a better type.</li>
<li>If a variable is counting something, be sure to declare it with an <li>If a variable is counting something, be sure to declare it with an
unsigned type.</li> unsigned type.</li>
<li>If it's memory-size-related, use size_t (use ssize_t only if required).</li> <li>If it's memory-size-related, use size_t (use ssize_t only if required).</li>
<li>If it's file-size related, use uintmax_t, or maybe off_t.</li> <li>If it's file-size related, use uintmax_t, or maybe off_t.</li>
<li>If it's file-offset related (i.e., signed), use off_t.</li> <li>If it's file-offset related (i.e., signed), use off_t.</li>
<li>If it's just counting small numbers use "unsigned int"; <li>If it's just counting small numbers use "unsigned int";
(on all but oddball embedded systems, you can assume that that (on all but oddball embedded systems, you can assume that that
type is at least four bytes wide).</li> type is at least four bytes wide).</li>
<li>If a variable has boolean semantics, give it the "bool" type <li>If a variable has boolean semantics, give it the "bool" type
and use the corresponding "true" and "false" macros. It's ok and use the corresponding "true" and "false" macros. It's ok
to include &lt;stdbool.h&gt;, since libvirt's use of gnulib ensures to include &lt;stdbool.h&gt;, since libvirt's use of gnulib ensures
that it exists and is usable.</li> that it exists and is usable.</li>
<li>In the unusual event that you require a specific width, use a <li>In the unusual event that you require a specific width, use a
standard type like int32_t, uint32_t, uint64_t, etc.</li> standard type like int32_t, uint32_t, uint64_t, etc.</li>
<li>While using "bool" is good for readability, it comes with minor caveats: <li>While using "bool" is good for readability, it comes with minor caveats:
<ul> <ul>
<li>Don't use "bool" in places where the type size must be constant across <li>Don't use "bool" in places where the type size must be constant across
all systems, like public interfaces and on-the-wire protocols. Note all systems, like public interfaces and on-the-wire protocols. Note
that it would be possible (albeit wasteful) to use "bool" in libvirt's that it would be possible (albeit wasteful) to use "bool" in libvirt's
logical wire protocol, since XDR maps that to its lower-level bool_t logical wire protocol, since XDR maps that to its lower-level bool_t
type, which *is* fixed-size.</li> type, which *is* fixed-size.</li>
<li>Don't compare a bool variable against the literal, "true", <li>Don't compare a bool variable against the literal, "true",
since a value with a logical non-false value need not be "1". since a value with a logical non-false value need not be "1".
I.e., don't write "if (seen == true) ...". Rather, write "if (seen)...".</li> I.e., don't write "if (seen == true) ...". Rather, write "if (seen)...".</li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -250,14 +250,14 @@
<ul> <ul>
<li><p>For strict equality:</p> <li><p>For strict equality:</p>
<pre> <pre>
STREQ(a,b) STREQ(a,b)
STRNEQ(a,b) STRNEQ(a,b)
</pre> </pre>
</li> </li>
<li><p>For case sensitive equality:</p> <li><p>For case sensitive equality:</p>
<pre> <pre>
STRCASEEQ(a,b) STRCASEEQ(a,b)
STRCASENEQ(a,b) STRCASENEQ(a,b)
</pre> </pre>
@ -265,7 +265,7 @@
<li><p>For strict equality of a substring:</p> <li><p>For strict equality of a substring:</p>
<pre> <pre>
STREQLEN(a,b,n) STREQLEN(a,b,n)
STRNEQLEN(a,b,n) STRNEQLEN(a,b,n)
</pre> </pre>
@ -273,7 +273,7 @@
<li><p>For case sensitive equality of a substring:</p> <li><p>For case sensitive equality of a substring:</p>
<pre> <pre>
STRCASEEQLEN(a,b,n) STRCASEEQLEN(a,b,n)
STRCASENEQLEN(a,b,n) STRCASENEQLEN(a,b,n)
</pre> </pre>
@ -281,7 +281,7 @@
<li><p>For strict equality of a prefix:</p> <li><p>For strict equality of a prefix:</p>
<pre> <pre>
STRPREFIX(a,b) STRPREFIX(a,b)
</pre> </pre>
</li> </li>
@ -379,7 +379,7 @@
<pre> <pre>
int virAsprintf(char **strp, const char *fmt, ...) int virAsprintf(char **strp, const char *fmt, ...)
ATTRIBUTE_FORMAT(printf, 2, 3); ATTRIBUTE_FORMAT(printf, 2, 3);
</pre> </pre>
<p> <p>
@ -416,16 +416,16 @@
</p> </p>
<ul> <ul>
<li>if a recently commited patch breaks compilation on a platform <li>if a recently commited patch breaks compilation on a platform
or for a given driver then it's fine to commit a minimal fix or for a given driver then it's fine to commit a minimal fix
directly without getting the review feedback first</li> directly without getting the review feedback first</li>
<li>if make check or make syntax-chek breaks, if there is <li>if make check or make syntax-chek breaks, if there is
an obvious fix, it's fine to commit immediately. an obvious fix, it's fine to commit immediately.
The patch should still be sent to the list (or tell what the fix was if The patch should still be sent to the list (or tell what the fix was if
trivial) and 'make check syntax-check' should pass too before commiting trivial) and 'make check syntax-check' should pass too before commiting
anything</li> anything</li>
<li> <li>
fixes for documentation and code comments can be managed fixes for documentation and code comments can be managed
in the same way, but still make sure they get reviewed if non-trivial. in the same way, but still make sure they get reviewed if non-trivial.
</li> </li>
</ul> </ul>
</body> </body>

View File

@ -62,7 +62,7 @@ updated on <i>2008-06-05</i>.
<td> x </td> <td> x </td>
<td> &#x2265; 0.3.0 </td> <td> &#x2265; 0.3.0 </td>
<td> x </td> <td> x </td>
<td> x </td> <td> x </td>
</tr> </tr>
<tr> <tr>
<td> virConnectGetType </td> <td> virConnectGetType </td>

View File

@ -7,26 +7,26 @@
<ul> <ul>
<li> <li>
A toolkit to interact with the virtualization capabilities A toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). of recent versions of Linux (and other OSes).
</li> </li>
<li> <li>
Free software available under the Free software available under the
<a href="http://www.opensource.org/licenses/lgpl-license.html">GNU <a href="http://www.opensource.org/licenses/lgpl-license.html">GNU
Lesser General Public License</a>. Lesser General Public License</a>.
</li> </li>
<li> <li>
A long term stable C API A long term stable C API
</li> </li>
<li> <li>
A set of bindings for common languages A set of bindings for common languages
</li> </li>
<li> <li>
A <a href="CIM/">CIM provider</a> for the DMTF virtualization schema A <a href="CIM/">CIM provider</a> for the DMTF virtualization schema
</li> </li>
<li> <li>
A <a href="/qpid/">QMF agent</a> for the AMQP/QPid messaging system A <a href="/qpid/">QMF agent</a> for the AMQP/QPid messaging system
</li> </li>
</ul> </ul>
@ -34,29 +34,29 @@
<ul> <ul>
<li> <li>
The <a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen</a> hypervisor The <a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen</a> hypervisor
on Linux and Solaris hosts. on Linux and Solaris hosts.
</li> </li>
<li> <li>
The <a href="http://bellard.org/qemu/">QEMU</a> emulator The <a href="http://bellard.org/qemu/">QEMU</a> emulator
</li> </li>
<li> <li>
The <a href="http://kvm.qumranet.com/kvmwiki">KVM</a> Linux hypervisor The <a href="http://kvm.qumranet.com/kvmwiki">KVM</a> Linux hypervisor
</li> </li>
<li> <li>
The <a href="http://lxc.sourceforge.net/">LXC</a> Linux container system The <a href="http://lxc.sourceforge.net/">LXC</a> Linux container system
</li> </li>
<li> <li>
The <a href="http://openvz.org/">OpenVZ</a> Linux container system The <a href="http://openvz.org/">OpenVZ</a> Linux container system
</li> </li>
<li> <li>
The <a href="http://user-mode-linux.sourceforge.net/">User Mode Linux</a> paravirtualized kernel The <a href="http://user-mode-linux.sourceforge.net/">User Mode Linux</a> paravirtualized kernel
</li> </li>
<li> <li>
The <a href="http://www.virtualbox.org/">VirtualBox</a> hypervisor The <a href="http://www.virtualbox.org/">VirtualBox</a> hypervisor
</li> </li>
<li> <li>
Storage on IDE/SCSI/USB disks, FibreChannel, LVM, iSCSI, NFS and filesystems Storage on IDE/SCSI/USB disks, FibreChannel, LVM, iSCSI, NFS and filesystems
</li> </li>
</ul> </ul>

View File

@ -1157,8 +1157,8 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<ul> <ul>
<li>Bug fixes: QEmu network serialization (Kaitlin Rupert), internal <li>Bug fixes: QEmu network serialization (Kaitlin Rupert), internal
memory allocation fixes (Chris Lalancette Jim Meyering), virsh memory allocation fixes (Chris Lalancette Jim Meyering), virsh
large file config problem (Jim Meyering), xen list APIs when large file config problem (Jim Meyering), xen list APIs when
max is zero, string escape problems in the xm driver </li> max is zero, string escape problems in the xm driver </li>
<li>Improvements: add autogen to tarballs, improve iSCSI support <li>Improvements: add autogen to tarballs, improve iSCSI support
(Chris Lalancette), localization updates </li> (Chris Lalancette), localization updates </li>
<li>Cleanups: const-ness fixed (Daniel P. Berrange), string helpers <li>Cleanups: const-ness fixed (Daniel P. Berrange), string helpers
@ -1168,60 +1168,60 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<ul> <ul>
<li>New features: Linux Container start and stop (Dave Leskovec), <li>New features: Linux Container start and stop (Dave Leskovec),
Network interface model settings (Daniel Berrange),serial and parallel Network interface model settings (Daniel Berrange),serial and parallel
device support for QEmu and Xen (Daniel Berrange), device support for QEmu and Xen (Daniel Berrange),
Sound support for QEmu and Xen (Cole Robinson), vCPU settings for Sound support for QEmu and Xen (Cole Robinson), vCPU settings for
QEmu (Cole Robinson), support for NUMA and vCPU pinning in QEmu QEmu (Cole Robinson), support for NUMA and vCPU pinning in QEmu
(Daniel Berrange), new virDomainBlockPeek API (Richard Jones)</li> (Daniel Berrange), new virDomainBlockPeek API (Richard Jones)</li>
<li>Documentation: coding guidelines (Jim Meyering and Richard Jones), <li>Documentation: coding guidelines (Jim Meyering and Richard Jones),
small man page missing entries and cleanup, small man page missing entries and cleanup,
Web site revamp (Daniel Berrange), Web site revamp (Daniel Berrange),
typo fixes (Atsushi SAKAI), more docs on network XML format typo fixes (Atsushi SAKAI), more docs on network XML format
(Daniel Berrange), libvirt Wiki (Daniel Berrange), (Daniel Berrange), libvirt Wiki (Daniel Berrange),
policykit config docs (Cole Robinson), XML domain docs revamp policykit config docs (Cole Robinson), XML domain docs revamp
(Daniel Berrange), docs for remote listen-tls/tcp fixes (Kenneth (Daniel Berrange), docs for remote listen-tls/tcp fixes (Kenneth
Nagin), </li> Nagin), </li>
<li>Bug fixes: save change to config file for Xen (Ryan Scott), <li>Bug fixes: save change to config file for Xen (Ryan Scott),
fix /var/run/libvirt/ group ownership (Anton Protopopov), fix /var/run/libvirt/ group ownership (Anton Protopopov),
ancient libparted workaround (Soren Hansen), out of bount ancient libparted workaround (Soren Hansen), out of bount
array access (Daniel Berrange), remote check bug (Dave Leskovec), array access (Daniel Berrange), remote check bug (Dave Leskovec),
LXC signal and daemon restart problems (Dave Leskovec), bus selection LXC signal and daemon restart problems (Dave Leskovec), bus selection
logic fix in the daemon config (Daniel Berrange), 2 memory leaks logic fix in the daemon config (Daniel Berrange), 2 memory leaks
in the daemon (Jim Meyering), daemon pid file logic bug fix in the daemon (Jim Meyering), daemon pid file logic bug fix
(Daniel Berrange), python generator fixes (Daniel Berrange), (Daniel Berrange), python generator fixes (Daniel Berrange),
ivarious leaks and memory problem pointed by valgrind (Daniel ivarious leaks and memory problem pointed by valgrind (Daniel
Berrange), iptables forwarding cleanup (Daniel Berrange), Berrange), iptables forwarding cleanup (Daniel Berrange),
Xen cpuset value checking (Hiroyuki Kaguchi), container process Xen cpuset value checking (Hiroyuki Kaguchi), container process
checks for LXC (Dave Leskovec), let xend check block device syntax checks for LXC (Dave Leskovec), let xend check block device syntax
(Hiroyuki Kaguchi), UUIDString for python fixes (Cole Robinson)</li> (Hiroyuki Kaguchi), UUIDString for python fixes (Cole Robinson)</li>
<li>Improvements: fixes for MinGW compilation (Richard Jones), <li>Improvements: fixes for MinGW compilation (Richard Jones),
autostart for running Xen domains (Cole Robinson), autostart for running Xen domains (Cole Robinson),
control of listening IP for daemon (Stefan de Konink), control of listening IP for daemon (Stefan de Konink),
various Xenner related fixes and improvements (Daniel Berrange) various Xenner related fixes and improvements (Daniel Berrange)
autostart status printed in virsh domainfo (Shigeki Sakamoto), autostart status printed in virsh domainfo (Shigeki Sakamoto),
better error messages for xend driver (Richard Jones)</li> better error messages for xend driver (Richard Jones)</li>
<li>Code cleanups: OpenVZ compilation (Richard Jones), conn dom and <li>Code cleanups: OpenVZ compilation (Richard Jones), conn dom and
net fields deprecation in error structures (Richard Jones), net fields deprecation in error structures (Richard Jones),
Xen-ism on UUID (Richard Jones), add missing .pod to dist (Richard Xen-ism on UUID (Richard Jones), add missing .pod to dist (Richard
Jones), tab cleanup from sources (Jim Meyering), remove unused field Jones), tab cleanup from sources (Jim Meyering), remove unused field
in virsh control structure (Richard Jones), compilation without in virsh control structure (Richard Jones), compilation without
pthread.h (Jim Meyering), cleanup of tests (Daniel Berrange), pthread.h (Jim Meyering), cleanup of tests (Daniel Berrange),
syntax-check improvements (Jim Meyering), python cleanup, syntax-check improvements (Jim Meyering), python cleanup,
remove dependancy on libc is_* character tests (Jim Meyering), remove dependancy on libc is_* character tests (Jim Meyering),
format related cleanups (Jim Meyering), cleanup of the buffer format related cleanups (Jim Meyering), cleanup of the buffer
internal APIs (Daniel Berrange), conversion to the new memory internal APIs (Daniel Berrange), conversion to the new memory
allocation API (Daniel Berrange), lcov coverage testing allocation API (Daniel Berrange), lcov coverage testing
(Daniel Berrange), gnulib updates (Jim Meyering), compatibility (Daniel Berrange), gnulib updates (Jim Meyering), compatibility
fix with RHEL 5 (Daniel Berrange), SuSE compatibility fix (Jim fix with RHEL 5 (Daniel Berrange), SuSE compatibility fix (Jim
Fehlig), const'ification of a number of structures (Jim Meyering), Fehlig), const'ification of a number of structures (Jim Meyering),
string comparison macro cleanups (Daniel Berrange), character string comparison macro cleanups (Daniel Berrange), character
range testing cleanups and assorted bug fixes (Jim Meyering), range testing cleanups and assorted bug fixes (Jim Meyering),
QEmu test fixes (Daniel Berrange), configure macro cleanup (Daniel QEmu test fixes (Daniel Berrange), configure macro cleanup (Daniel
Berrange), refactor QEmu command line building code (Daniel Berrange), Berrange), refactor QEmu command line building code (Daniel Berrange),
type punning warning in remote code (Richard Jones), refactoring type punning warning in remote code (Richard Jones), refactoring
of internal headers (Richard Jones), generic out of memory of internal headers (Richard Jones), generic out of memory
testing and associated bug fixes (Daniel Berrange), don't raise testing and associated bug fixes (Daniel Berrange), don't raise
internal error for unsupported features (Kaitlin Rupert), internal error for unsupported features (Kaitlin Rupert),
missing driver entry points (Daniel Berrange)</li> missing driver entry points (Daniel Berrange)</li>
</ul> </ul>
<h3>0.4.2: Apr 8 2008</h3> <h3>0.4.2: Apr 8 2008</h3>
<ul> <ul>

View File

@ -22,28 +22,28 @@
<ul> <ul>
<li> <li>
The <a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen</a> hypervisor The <a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen</a> hypervisor
</li> </li>
<li> <li>
The <a href="http://bellard.org/qemu/">QEMU</a> emulator The <a href="http://bellard.org/qemu/">QEMU</a> emulator
</li> </li>
<li> <li>
The <a href="http://kvm.qumranet.com/kvmwiki">KVM</a> Linux hypervisor The <a href="http://kvm.qumranet.com/kvmwiki">KVM</a> Linux hypervisor
</li> </li>
<li> <li>
The <a href="http://lxc.sourceforge.net/">LXC</a> Linux container system The <a href="http://lxc.sourceforge.net/">LXC</a> Linux container system
</li> </li>
<li> <li>
The <a href="http://openvz.org/">OpenVZ</a> Linux container system The <a href="http://openvz.org/">OpenVZ</a> Linux container system
</li> </li>
<li> <li>
The <a href="http://virt.kernelnewbies.org/lguest">lGuest</a> paravirtualized hypervisor The <a href="http://virt.kernelnewbies.org/lguest">lGuest</a> paravirtualized hypervisor
</li> </li>
<li> <li>
The <a href="http://virt.kernelnewbies.org/Linux-VServer">Linux-VServer</a> container system The <a href="http://virt.kernelnewbies.org/Linux-VServer">Linux-VServer</a> container system
</li> </li>
<li> <li>
The <a href="http://virt.kernelnewbies.org/UML">User Mode Linux</a> paravirtualized hypervisor The <a href="http://virt.kernelnewbies.org/UML">User Mode Linux</a> paravirtualized hypervisor
</li> </li>
</ul> </ul>
@ -51,13 +51,13 @@
<ul> <ul>
<li> <li>
<a href="http://virt.kernelnewbies.org/">Kernel Newbies Virtualization guide</a> <a href="http://virt.kernelnewbies.org/">Kernel Newbies Virtualization guide</a>
</li> </li>
<li> <li>
<a href="http://www-128.ibm.com/developerworks/linux/library/l-linuxvirt/?ca=dgr-lnxw01Virtual-Linux">IBM developerworks virtualization guide</a> <a href="http://www-128.ibm.com/developerworks/linux/library/l-linuxvirt/?ca=dgr-lnxw01Virtual-Linux">IBM developerworks virtualization guide</a>
</li> </li>
<li> <li>
<a href="http://en.wikipedia.org/wiki/Virtualization">Wikipedia Virtualization</a> <a href="http://en.wikipedia.org/wiki/Virtualization">Wikipedia Virtualization</a>
</li> </li>
</ul> </ul>

View File

@ -202,10 +202,10 @@
<a href="html/libvirt-virterror.html">virterror</a> <a href="html/libvirt-virterror.html">virterror</a>
<span>error handling interfaces for the libvirt library</span> <span>error handling interfaces for the libvirt library</span>
</li> </li>
<li> <li>
<a href="hvsupport.html">Driver support</a> <a href="hvsupport.html">Driver support</a>
<span>matrix of API support per hypervisor per release</span> <span>matrix of API support per hypervisor per release</span>
</li> </li>
</ul> </ul>
</li> </li>
<li> <li>
@ -226,10 +226,10 @@
<a href="internals.html">Internals</a> <a href="internals.html">Internals</a>
<span>Working on the internals of libvirt API, driver and daemon code</span> <span>Working on the internals of libvirt API, driver and daemon code</span>
<ul> <ul>
<li> <li>
<a href="hacking.html">Contributor guidelines</a> <a href="hacking.html">Contributor guidelines</a>
<span>General hacking guidelines for contributors</span> <span>General hacking guidelines for contributors</span>
</li> </li>
<li> <li>
<a href="api_extension.html">API extensions</a> <a href="api_extension.html">API extensions</a>
<span>Adding new public libvirt APIs</span> <span>Adding new public libvirt APIs</span>