From: Richard W.M. Jones
When running in a Xen environment, programs using libvirt have to execute in "Domain 0", which is the primary Linux OS loaded on the machine. That OS kernel provides most if not all of the actual drivers used by the set of -domains. It also runs the Xen Store, a database of informations shared by the +domains. It also runs the Xen Store, a database of information shared by the hypervisor, the kernels, the drivers and the xen daemon. Xend. The xen daemon supervise the control and execution of the sets of domains. The hypervisor, drivers, kernels and daemons communicate though a shared system bus @@ -23,7 +23,7 @@ the Xen infrastructure:
The library will usually interact with the Xen daemon for any operation changing the state of the system, but for performance and accuracy reasons -may talk directly to the hypervisor when gathering state informations at +may talk directly to the hypervisor when gathering state information at least when possible (i.e. when the running program using libvirt has root priviledge access).
If it runs without root access virConnectOpenReadOnly() should be used to connect to initialize the library. It will then fork a libvirt_proxy diff --git a/docs/devhelp/libvirt-libvirt.html b/docs/devhelp/libvirt-libvirt.html index c713056da1..62d027f967 100644 --- a/docs/devhelp/libvirt-libvirt.html +++ b/docs/devhelp/libvirt-libvirt.html @@ -404,8 +404,8 @@ The content of this structure is not made public by the API.
enum virDomainXMLFlags { - VIR_DOMAIN_XML_SECURE = 1 /* dump security sensitive informations too */ - VIR_DOMAIN_XML_INACTIVE = 2 /* dump inactive domain informations */ + VIR_DOMAIN_XML_SECURE = 1 /* dump security sensitive information too */ + VIR_DOMAIN_XML_INACTIVE = 2 /* dump inactive domain information */ };
The main goals of libvirt when it comes to error handling are:
As result the library provide both synchronous, callback based and asynchronous error reporting. When an error happens in the library code the @@ -15,7 +15,7 @@ dynamic structure which can be made thread specific. Error callback can be set specifically to a connection with
So error handling in the code is the following:
So error handling in the code is the on stderr
In all cases the error informations are provided as a virErrorPtr pointer to +
In all cases the error information is provided as a virErrorPtr pointer to read-only structure virError containing the following fields:
and then extra raw informations about the error which may be initialized -to 0 or NULL if unused
and then extra raw information about the error which may be initialized +to 0 or NULL if unused
So usually, setting up specific error handling with libvirt consist of
registering an handler with with virSetErrorFunc or
with virConnSetErrorFunc,
diff --git a/docs/examples/examples.xml b/docs/examples/examples.xml
index 5e54567843..24c5a48a59 100644
--- a/docs/examples/examples.xml
+++ b/docs/examples/examples.xml
@@ -1,7 +1,7 @@
The examples are stored per section depending on the main focus
- of the example: Getting the compilation options and libraries dependancies needed
+ of the example: Getting the compilation options and libraries dependancies needed
to generate binaries from the examples is best done on Linux/Unix by using
the pkg-config data which should have been installed as part of make
-install step or when installing the libvirt development package: Demonstrate the basic use of the library to connect to the hypervisor and extract domain informations. Uses: Usage: info1 Author: Daniel Veillard Demonstrate the basic use of the library to suspend and resume a domain. If no id is given on the command line this script will suspend and resume the first domain found which is not Domain 0. Uses: Usage: suspend [id] Author: Daniel Veillard Graphics and design by Diana FongLibvirt set of C code examples
gcc -o example example.c `pkg-config libvirt --libs`
Informations Examples
info1.c: Extract informations about Xen domain 0
Scheduling Examples
suspend.c: Suspend a domain and then resume its execution
related links
gcc -o example example.c `pkg-config libvirt --libs`
Demonstrate the basic use of the library to connect to the hypervisor and extract domain information.
Uses:
Usage:
info1
Author: Daniel Veillard
Demonstrate the basic use of the library to suspend and resume a domain. If no id is given on the command line this script will suspend and resume the first domain found which is not Domain 0.
Uses:
Usage:
suspend [id]
Author: Daniel Veillard
Graphics and design by Diana Fong
<domain type='xen' id='3'>
<os>
block description is very different, first
it indicates that the type is 'hvm' for hardware virtualization, then
instead of a kernel, boot and command line arguments, it points to an os
- boot loader which will extract the boot informations from the boot device
+ boot loader which will extract the boot information from the boot device
specified in a separate boot element. The dev
attribute on
the boot
tag can be one of:
fd
- boot from first floppy deviceThe second block (in blue) indicates the paravirtualization support of the Xen support, you will see the os_type of xen to indicate a paravirtual -kernel, then architecture informations and potential features.
The third block (in green) gives similar informations but when running a +kernel, then architecture information and potential features.
The third block (in green) gives similar information but when running a 32 bit OS fully virtualized with Xen using the hvm support.
This section is likely to be updated and augmented in the future, see the discussion which led to the capabilities format in the mailing-list archives.
Graphics and design by Diana Fong