提交 08ecf61b 编写于 作者: D Daniel Veillard

* NEWS virsh.1 docs//* include/libvirt/libvirt.h[.in] qemud/mdns.h

  src/libvirt.c src/qemu.conf src/remote_internal.c src/xend_internal.c
  tests/confdata/libvirtd.conf tests/confdata/libvirtd.out: patch from
  Atsushi SAKAI fixing a ot more typo
Daniel
上级 7ae13660
Mon Mar 17 11:23:32 CET 2008 Daniel Veillard <veillard@redhat.com>
* NEWS virsh.1 docs//* include/libvirt/libvirt.h[.in] qemud/mdns.h
src/libvirt.c src/qemu.conf src/remote_internal.c src/xend_internal.c
tests/confdata/libvirtd.conf tests/confdata/libvirtd.out: patch from
Atsushi SAKAI fixing a ot more typo
Fri Mar 14 16:38:34 EDT 2008 Daniel P. Berrange <berrange@redhat.com>
* src/bridge.c, src/bridge.h: Don't set MAC address on TAP
......
......@@ -479,7 +479,7 @@ Releases
0.1.2: Jul 3 2006:
- headers include paths fixup
- proxy mechanism for unpriviledged read-only access by httpu
- proxy mechanism for unprivileged read-only access by httpu
0.1.1: Jun 21 2006:
......
......@@ -14,7 +14,7 @@
<p>Yes. The LGPL allows you to embed libvirt into a proprietary
application. It would be graceful to send-back bug fixes and improvements
as patches for possible incorporation in the main development tree. It
will decrease your maintainance costs anyway if you do so.</p>
will decrease your maintenance costs anyway if you do so.</p>
</li>
</ol><h3><a name="Installati" id="Installati">Installation</a></h3><ol><li><em>Where can I get libvirt</em> ?
<p>The original distribution comes from <a href="ftp://libvirt.org/libvirt/">ftp://libvirt.org/libvirt/</a>.</p>
......
......@@ -40,9 +40,9 @@ domain, by specifying the architecture and machine type targetted.</p><p>The cod
<code>qemud/</code> directory.</p><h3><a name="drivers" id="drivers">the driver based architecture</a></h3><p>As the previous section explains, libvirt can communicate using different
channels with the current hypervisor, and should also be able to use
different kind of hypervisor. To simplify the internal design, code, ease
maintainance and simplify the support of other virtualization engine the
maintenance and simplify the support of other virtualization engine the
internals have been structured as one core component, the libvirt.c module
acting as a front-end for the library API and a set of hypvisor drivers
acting as a front-end for the library API and a set of hypervisor drivers
defining a common set of routines. That way the Xen Daemon accces, the Xen
Store one, the Hypervisor hypercall are all isolated in separate C modules
implementing at least a subset of the common operations defined by the
......
......@@ -11,11 +11,11 @@ of applications using libvirt.
<li><a href="#ACL_server_username">Username/password auth</a></li>
<li><a href="#ACL_server_kerberos">Kerberos auth</a></li>
</ul><h3 name="ACL_server_config">Server configuration</h3><p>
The libvirt daemon allows the adminstrator to choose the authentication
mechanisms used for client connections on each network socket independantly.
The libvirt daemon allows the administrator to choose the authentication
mechanisms used for client connections on each network socket independently.
This is primarily controlled via the libvirt daemon master config file in
<code>/etc/libvirt/libvirtd.conf</code>. Each of the libvirt sockets can
have its authentication mechanism configured independantly. There is
have its authentication mechanism configured independently. There is
currently a choice of <code>none</code>, <code>polkit</code>, and <code>sasl</code>.
The SASL scheme can be further configured to choose between a large
number of different mechanisms.
......@@ -44,7 +44,7 @@ session to authenticate using the user's password. This is akin to <code>sudo</c
auth, but does not require that the client application ultimately run as root.
Default policy will still allow any application to connect to the RO socket.
</p><p>
The default policy can be overriden by the adminstrator using the PolicyKit
The default policy can be overriden by the administrator using the PolicyKit
master configuration file in <code>/etc/PolicyKit/PolicyKit.conf</code>. The
<code>PolicyKit.conf(5)</code> manual page provides details on the syntax
available. The two libvirt daemon actions available are named <code>org.libvirt.unix.monitor</code>
......@@ -100,7 +100,7 @@ and/or TLS sockets, Kerberos will also be used for them. Like DIGEST-MD5, the Ke
mechanism provides data encryption of the session.
</p><p>
Some operating systems do not install the SASL kerberos plugin by default. It
may be neccessary to install a sub-package such as <code>cyrus-sasl-gssapi</code>.
may be necessary to install a sub-package such as <code>cyrus-sasl-gssapi</code>.
To check whether the Kerberos plugin is installed run the <code>pluginviewer</code>
program and verify that <code>gssapi</code> is listed,eg:
</p><pre>
......@@ -111,7 +111,7 @@ Plugin "gssapiv2" [loaded], API version: 4
security flags: NO_ANONYMOUS|NO_PLAINTEXT|NO_ACTIVE|PASS_CREDENTIALS|MUTUAL_AUTH
features: WANT_CLIENT_FIRST|PROXY_AUTHENTICATION|NEED_SERVER_FQDN
</pre><p>
Next is is neccessary for the adminsitrator of the Kerberos realm to issue a principle
Next is is necessary for the adminsitrator of the Kerberos realm to issue a principle
for the libvirt server. There needs to be one principle per host running the libvirt
daemon. The principle should be named <code>libvirt/full.hostname@KERBEROS.REALM</code>.
This is typically done by running the <code>kadmin.local</code> command on the Kerberos
......
此差异已折叠。
此差异已折叠。
......@@ -521,7 +521,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<h3>0.1.2: Jul 3 2006</h3>
<ul>
<li>headers include paths fixup</li>
<li>proxy mechanism for unpriviledged read-only access by httpu</li>
<li>proxy mechanism for unprivileged read-only access by httpu</li>
</ul>
<h3>0.1.1: Jun 21 2006</h3>
......@@ -729,9 +729,9 @@ domain, by specifying the architecture and machine type targetted.</p>
<p>As the previous section explains, libvirt can communicate using different
channels with the current hypervisor, and should also be able to use
different kind of hypervisor. To simplify the internal design, code, ease
maintainance and simplify the support of other virtualization engine the
maintenance and simplify the support of other virtualization engine the
internals have been structured as one core component, the libvirt.c module
acting as a front-end for the library API and a set of hypvisor drivers
acting as a front-end for the library API and a set of hypervisor drivers
defining a common set of routines. That way the Xen Daemon accces, the Xen
Store one, the Hypervisor hypercall are all isolated in separate C modules
implementing at least a subset of the common operations defined by the
......@@ -1557,7 +1557,7 @@ containing the same field as a virError in C, but cast to Python.</p>
<p>Yes. The LGPL allows you to embed libvirt into a proprietary
application. It would be graceful to send-back bug fixes and improvements
as patches for possible incorporation in the main development tree. It
will decrease your maintainance costs anyway if you do so.</p>
will decrease your maintenance costs anyway if you do so.</p>
</li>
</ol>
......@@ -2912,11 +2912,11 @@ of applications using libvirt.
<h3 name="ACL_server_config">Server configuration</h3>
<p>
The libvirt daemon allows the adminstrator to choose the authentication
mechanisms used for client connections on each network socket independantly.
The libvirt daemon allows the administrator to choose the authentication
mechanisms used for client connections on each network socket independently.
This is primarily controlled via the libvirt daemon master config file in
<code>/etc/libvirt/libvirtd.conf</code>. Each of the libvirt sockets can
have its authentication mechanism configured independantly. There is
have its authentication mechanism configured independently. There is
currently a choice of <code>none</code>, <code>polkit</code>, and <code>sasl</code>.
The SASL scheme can be further configured to choose between a large
number of different mechanisms.
......@@ -2957,7 +2957,7 @@ Default policy will still allow any application to connect to the RO socket.
</p>
<p>
The default policy can be overriden by the adminstrator using the PolicyKit
The default policy can be overriden by the administrator using the PolicyKit
master configuration file in <code>/etc/PolicyKit/PolicyKit.conf</code>. The
<code>PolicyKit.conf(5)</code> manual page provides details on the syntax
available. The two libvirt daemon actions available are named <code>org.libvirt.unix.monitor</code>
......@@ -3040,7 +3040,7 @@ mechanism provides data encryption of the session.
<p>
Some operating systems do not install the SASL kerberos plugin by default. It
may be neccessary to install a sub-package such as <code>cyrus-sasl-gssapi</code>.
may be necessary to install a sub-package such as <code>cyrus-sasl-gssapi</code>.
To check whether the Kerberos plugin is installed run the <code>pluginviewer</code>
program and verify that <code>gssapi</code> is listed,eg:
</p>
......@@ -3055,7 +3055,7 @@ Plugin "gssapiv2" [loaded], API version: 4
</pre>
<p>
Next is is neccessary for the adminsitrator of the Kerberos realm to issue a principle
Next is is necessary for the adminsitrator of the Kerberos realm to issue a principle
for the libvirt server. There needs to be one principle per host running the libvirt
daemon. The principle should be named <code>libvirt/full.hostname@KERBEROS.REALM</code>.
This is typically done by running the <code>kadmin.local</code> command on the Kerberos
......
......@@ -527,7 +527,7 @@
<field name='rd_req' type='long long' info=' number of read requests'/>
<field name='rd_bytes' type='long long' info=' number of read bytes'/>
<field name='wr_req' type='long long' info=' number of write requests'/>
<field name='wr_bytes' type='long long' info=' numbber of written bytes'/>
<field name='wr_bytes' type='long long' info=' number of written bytes'/>
<field name='errs' type='long long' info=' In Xen this returns the mysterious &apos;oo_req&apos;.'/>
</struct>
<typedef name='virDomainCreateFlags' file='libvirt' type='enum'/>
......@@ -700,7 +700,7 @@
<arg name='conn' type='virConnectPtr' info='pointer to a hypervisor connection'/>
</function>
<function name='virConnectGetVersion' file='libvirt' module='libvirt'>
<info>Get the version level of the Hypervisor running. This may work only with hypervisor call, i.e. with priviledged access to the hypervisor, not with a Read-Only connection.</info>
<info>Get the version level of the Hypervisor running. This may work only with hypervisor call, i.e. with privileged access to the hypervisor, not with a Read-Only connection.</info>
<return type='int' info='-1 in case of error, 0 otherwise. if the version can&apos;t be extracted by lack of capacities returns 0 and @hvVer is 0, otherwise @hvVer value is major * 1,000,000 + minor * 1,000 + release'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='hvVer' type='unsigned long *' info='return value for the version of the running hypervisor (OUT)'/>
......@@ -783,14 +783,14 @@
<arg name='name' type='const char *' info='URI of the hypervisor'/>
</function>
<function name='virConnectOpenAuth' file='libvirt' module='libvirt'>
<info>This function should be called first to get a connection to the Hypervisor. If neccessary, authentication will be performed fetching credentials via the callback</info>
<info>This function should be called first to get a connection to the Hypervisor. If necessary, authentication will be performed fetching credentials via the callback</info>
<return type='virConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error URIs are documented at http://libvirt.org/uri.html'/>
<arg name='name' type='const char *' info='URI of the hypervisor'/>
<arg name='auth' type='virConnectAuthPtr' info='Authenticate callback parameters'/>
<arg name='flags' type='int' info='Open flags'/>
</function>
<function name='virConnectOpenReadOnly' file='libvirt' module='libvirt'>
<info>This function should be called first to get a restricted connection to the libbrary functionalities. The set of APIs usable are then restricted on the available methods to control the domains.</info>
<info>This function should be called first to get a restricted connection to the library functionalities. The set of APIs usable are then restricted on the available methods to control the domains.</info>
<return type='virConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error URIs are documented at http://libvirt.org/uri.html'/>
<arg name='name' type='const char *' info='URI of the hypervisor'/>
</function>
......@@ -831,7 +831,7 @@
<arg name='domain' type='virDomainPtr' info='pointer to a defined domain'/>
</function>
<function name='virDomainCreateLinux' file='libvirt' module='libvirt'>
<info>Launch a new Linux guest domain, based on an XML description similar to the one returned by virDomainGetXMLDesc() This function may requires priviledged access to the hypervisor.</info>
<info>Launch a new Linux guest domain, based on an XML description similar to the one returned by virDomainGetXMLDesc() This function may requires riviledged access to the hypervisor.</info>
<return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='xmlDesc' type='const char *' info='an XML description of the domain'/>
......@@ -844,7 +844,7 @@
<arg name='xml' type='const char *' info='the XML description for the domain, preferably in UTF-8'/>
</function>
<function name='virDomainDestroy' file='libvirt' module='libvirt'>
<info>Destroy the domain object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function may requires priviledged access</info>
<info>Destroy the domain object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function may requires privileged access</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
......@@ -984,7 +984,7 @@
<arg name='bandwidth' type='unsigned long' info='(optional) specify migration bandwidth limit in Mbps'/>
</function>
<function name='virDomainPinVcpu' file='libvirt' module='libvirt'>
<info>Dynamically change the real CPUs which can be allocated to a virtual CPU. This function requires priviledged access to the hypervisor.</info>
<info>Dynamically change the real CPUs which can be allocated to a virtual CPU. This function requires privileged access to the hypervisor.</info>
<return type='int' info='0 in case of success, -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='pointer to domain object, or NULL for Domain0'/>
<arg name='vcpu' type='unsigned int' info='virtual CPU number'/>
......@@ -1004,7 +1004,7 @@
<arg name='from' type='const char *' info='path to the'/>
</function>
<function name='virDomainResume' file='libvirt' module='libvirt'>
<info>Resume an suspended domain, the process is restarted from the state where it was frozen by calling virSuspendDomain(). This function may requires priviledged access</info>
<info>Resume an suspended domain, the process is restarted from the state where it was frozen by calling virSuspendDomain(). This function may requires privileged access</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
......@@ -1021,13 +1021,13 @@
<arg name='autostart' type='int' info='whether the domain should be automatically started 0 or 1'/>
</function>
<function name='virDomainSetMaxMemory' file='libvirt' module='libvirt'>
<info>Dynamically change the maximum amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function requires priviledged access to the hypervisor.</info>
<info>Dynamically change the maximum amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function requires privileged access to the hypervisor.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object or NULL'/>
<arg name='memory' type='unsigned long' info='the memory size in kilobytes'/>
</function>
<function name='virDomainSetMemory' file='libvirt' module='libvirt'>
<info>Dynamically change the target amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function may requires priviledged access to the hypervisor.</info>
<info>Dynamically change the target amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function may requires privileged access to the hypervisor.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object or NULL'/>
<arg name='memory' type='unsigned long' info='the memory size in kilobytes'/>
......@@ -1040,7 +1040,7 @@
<arg name='nparams' type='int' info='number of scheduler parameter (this value should be same or less than the returned value nparams of virDomainGetSchedulerType)'/>
</function>
<function name='virDomainSetVcpus' file='libvirt' module='libvirt'>
<info>Dynamically change the number of virtual CPUs used by the domain. Note that this call may fail if the underlying virtualization hypervisor does not support it or if growing the number is arbitrary limited. This function requires priviledged access to the hypervisor.</info>
<info>Dynamically change the number of virtual CPUs used by the domain. Note that this call may fail if the underlying virtualization hypervisor does not support it or if growing the number is arbitrary limited. This function requires privileged access to the hypervisor.</info>
<return type='int' info='0 in case of success, -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='pointer to domain object, or NULL for Domain0'/>
<arg name='nvcpus' type='unsigned int' info='the new number of virtual CPUs for this domain'/>
......@@ -1051,7 +1051,7 @@
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainSuspend' file='libvirt' module='libvirt'>
<info>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use virDomainResume() to reactivate the domain. This function may requires priviledged access.</info>
<info>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use virDomainResume() to reactivate the domain. This function may requires privileged access.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
......@@ -1099,7 +1099,7 @@
<arg name='xml' type='const char *' info='the XML description for the network, preferably in UTF-8'/>
</function>
<function name='virNetworkDestroy' file='libvirt' module='libvirt'>
<info>Destroy the network object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function may requires priviledged access</info>
<info>Destroy the network object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function may requires privileged access</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='network' type='virNetworkPtr' info='a network object'/>
</function>
......@@ -1223,7 +1223,7 @@
<arg name='flags' type='unsigned int' info=''/>
</function>
<function name='virStoragePoolCreateXML' file='libvirt' module='libvirt'>
<info>Create a new storage based on its XML description. The pool is not persitent, so its definition will disappear when it is destroyed, or if the host is restarted</info>
<info>Create a new storage based on its XML description. The pool is not persistent, so its definition will disappear when it is destroyed, or if the host is restarted</info>
<return type='virStoragePoolPtr' info='a virStoragePoolPtr object, or NULL if creation failed'/>
<arg name='conn' type='virConnectPtr' info='pointer to hypervisor connection'/>
<arg name='xmlDesc' type='const char *' info='XML description for new pool'/>
......@@ -1261,7 +1261,7 @@
<function name='virStoragePoolGetConnect' file='libvirt' module='libvirt'>
<info>Provides the connection pointer associated with a storage pool. The reference counter on the connection is not increased by this call. WARNING: When writing libvirt bindings in other languages, do not use this function. Instead, store the connection and the pool object together.</info>
<return type='virConnectPtr' info='the virConnectPtr or NULL in case of failure.'/>
<arg name='pool' type='virStoragePoolPtr' info='pointer to a poool'/>
<arg name='pool' type='virStoragePoolPtr' info='pointer to a pool'/>
</function>
<function name='virStoragePoolGetInfo' file='libvirt' module='libvirt'>
<info>Get volatile information about the storage pool such as free space / usage summary</info>
......@@ -1365,7 +1365,7 @@
<function name='virStorageVolGetConnect' file='libvirt' module='libvirt'>
<info>Provides the connection pointer associated with a storage volume. The reference counter on the connection is not increased by this call. WARNING: When writing libvirt bindings in other languages, do not use this function. Instead, store the connection and the volume object together.</info>
<return type='virConnectPtr' info='the virConnectPtr or NULL in case of failure.'/>
<arg name='vol' type='virStorageVolPtr' info='pointer to a poool'/>
<arg name='vol' type='virStorageVolPtr' info='pointer to a pool'/>
</function>
<function name='virStorageVolGetInfo' file='libvirt' module='libvirt'>
<info>Fetches volatile information about the storage volume such as its current allocation</info>
......@@ -1374,7 +1374,7 @@
<arg name='info' type='virStorageVolInfoPtr' info='pointer at which to store info'/>
</function>
<function name='virStorageVolGetKey' file='libvirt' module='libvirt'>
<info>Fetch the storage volume key. This is globally unique, so the same volume will hve the same key no matter what host it is accessed from</info>
<info>Fetch the storage volume key. This is globally unique, so the same volume will have the same key no matter what host it is accessed from</info>
<return type='const char *' info='the volume key, or NULL on error'/>
<arg name='vol' type='virStorageVolPtr' info='pointer to storage volume'/>
</function>
......
......@@ -3044,7 +3044,7 @@
<word name='human-readable'>
<ref name='_virError'/>
</word>
<word name='hve'>
<word name='have'>
<ref name='virStorageVolGetKey'/>
</word>
<word name='hypervisors'>
......@@ -3592,7 +3592,7 @@
<ref name='_virDomainInfo'/>
<ref name='_virVcpuInfo'/>
</word>
<word name='neccessary'>
<word name='necessary'>
<ref name='virConnectOpenAuth'/>
</word>
<word name='necessary'>
......@@ -3656,7 +3656,7 @@
<ref name='virDomainGetSchedulerParameters'/>
<ref name='virDomainSetSchedulerParameters'/>
</word>
<word name='numbber'>
<word name='number'>
<ref name='_virDomainBlockStats'/>
</word>
</letter>
......@@ -3837,7 +3837,7 @@
<ref name='virStoragePoolNumOfVolumes'/>
<ref name='virStorageVolCreateXML'/>
</word>
<word name='poool'>
<word name='pool'>
<ref name='virStoragePoolGetConnect'/>
<ref name='virStorageVolGetConnect'/>
</word>
......@@ -3860,7 +3860,7 @@
<word name='printing'>
<ref name='virSetErrorFunc'/>
</word>
<word name='priviledged'>
<word name='privileged'>
<ref name='virConnectGetVersion'/>
<ref name='virDomainCreateLinux'/>
<ref name='virDomainDestroy'/>
......
......@@ -417,7 +417,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p><h3>0
support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin)</li>
<li>documentation: augmented to cover hvm domains</li>
</ul><h3>0.1.2: Jul 3 2006</h3><ul><li>headers include paths fixup</li>
<li>proxy mechanism for unpriviledged read-only access by httpu</li>
<li>proxy mechanism for unprivileged read-only access by httpu</li>
</ul><h3>0.1.1: Jun 21 2006</h3><ul><li>building fixes: ncurses fallback (Jim Fehlig), VPATH builds (Daniel P.
Berrange)</li>
<li>driver cleanups: new entry points, cleanup of libvirt.c (with Daniel P.
......
......@@ -97,7 +97,7 @@ this is used to connect to the local Xen hypervisor, this is the default
=item qemu:///system
allow to connect locally as root to the daemon supervizing QEmu and KVM domains
allow to connect locally as root to the daemon supervising QEmu and KVM domains
=item qemu:///session
......
......@@ -204,7 +204,7 @@ struct _virDomainBlockStats {
long long rd_req; /* number of read requests */
long long rd_bytes; /* number of read bytes */
long long wr_req; /* number of write requests */
long long wr_bytes; /* numbber of written bytes */
long long wr_bytes; /* number of written bytes */
long long errs; /* In Xen this returns the mysterious 'oo_req'. */
};
......
......@@ -204,7 +204,7 @@ struct _virDomainBlockStats {
long long rd_req; /* number of read requests */
long long rd_bytes; /* number of read bytes */
long long wr_req; /* number of write requests */
long long wr_bytes; /* numbber of written bytes */
long long wr_bytes; /* number of written bytes */
long long errs; /* In Xen this returns the mysterious 'oo_req'. */
};
......
......@@ -37,9 +37,9 @@ struct libvirtd_mdns_entry;
struct libvirtd_mdns *libvirtd_mdns_new(void);
/**
* Starts the mdns client, advertizing any groups/entries currently registered
* Starts the mdns client, advertising any groups/entries currently registered
*
* @mdns: manager to start advertizing
* @mdns: manager to start advertising
*
* Starts the mdns client. Services may not be immediately visible, since
* it may asynchronously wait for the mdns service to startup
......@@ -49,15 +49,15 @@ struct libvirtd_mdns *libvirtd_mdns_new(void);
int libvirtd_mdns_start(struct libvirtd_mdns *mdns);
/**
* Stops the mdns client, removing any advertizements
* Stops the mdns client, removing any advertisements
*
* @mdns: manager to start advertizing
* @mdns: manager to start advertising
*
*/
void libvirtd_mdns_stop(struct libvirtd_mdns *mdns);
/**
* Adds a group container for advertizement
* Adds a group container for advertisement
*
* @mdns manager to attach the group to
* @name unique human readable service name
......@@ -67,7 +67,7 @@ void libvirtd_mdns_stop(struct libvirtd_mdns *mdns);
struct libvirtd_mdns_group *libvirtd_mdns_add_group(struct libvirtd_mdns *mdns, const char *name);
/**
* Removes a group container from advertizement
* Removes a group container from advertisement
*
* @mdns amanger to detach group from
* @group group to remove
......
......@@ -870,7 +870,7 @@ virConnectOpenReadOnly(const char *name)
* @flags: Open flags
*
* This function should be called first to get a connection to the
* Hypervisor. If neccessary, authentication will be performed fetching
* Hypervisor. If necessary, authentication will be performed fetching
* credentials via the callback
*
* Returns a pointer to the hypervisor connection or NULL in case of error
......@@ -969,7 +969,7 @@ virConnectGetType(virConnectPtr conn)
* @hvVer: return value for the version of the running hypervisor (OUT)
*
* Get the version level of the Hypervisor running. This may work only with
* hypervisor call, i.e. with priviledged access to the hypervisor, not
* hypervisor call, i.e. with privileged access to the hypervisor, not
* with a Read-Only connection.
*
* Returns -1 in case of error, 0 otherwise. if the version can't be
......@@ -1188,7 +1188,7 @@ virDomainGetConnect (virDomainPtr dom)
*
* Launch a new Linux guest domain, based on an XML description similar
* to the one returned by virDomainGetXMLDesc()
* This function may requires priviledged access to the hypervisor.
* This function may requires privileged access to the hypervisor.
*
* Returns a new domain object or NULL in case of failure
*/
......@@ -1372,7 +1372,7 @@ virDomainLookupByName(virConnectPtr conn, const char *name)
* already and all resources used by it are given back to the hypervisor.
* The data structure is freed and should not be used thereafter if the
* call does not return an error.
* This function may requires priviledged access
* This function may requires privileged access
*
* Returns 0 in case of success and -1 in case of failure.
*/
......@@ -1432,7 +1432,7 @@ virDomainFree(virDomainPtr domain)
* to CPU resources and I/O but the memory used by the domain at the
* hypervisor level will stay allocated. Use virDomainResume() to reactivate
* the domain.
* This function may requires priviledged access.
* This function may requires privileged access.
*
* Returns 0 in case of success and -1 in case of failure.
*/
......@@ -1466,7 +1466,7 @@ virDomainSuspend(virDomainPtr domain)
*
* Resume an suspended domain, the process is restarted from the state where
* it was frozen by calling virSuspendDomain().
* This function may requires priviledged access
* This function may requires privileged access
*
* Returns 0 in case of success and -1 in case of failure.
*/
......@@ -1911,7 +1911,7 @@ virDomainGetMaxMemory(virDomainPtr domain)
* Dynamically change the maximum amount of physical memory allocated to a
* domain. If domain is NULL, then this change the amount of memory reserved
* to Domain0 i.e. the domain where the application runs.
* This function requires priviledged access to the hypervisor.
* This function requires privileged access to the hypervisor.
*
* Returns 0 in case of success and -1 in case of failure.
*/
......@@ -1954,7 +1954,7 @@ virDomainSetMaxMemory(virDomainPtr domain, unsigned long memory)
* Dynamically change the target amount of physical memory allocated to a
* domain. If domain is NULL, then this change the amount of memory reserved
* to Domain0 i.e. the domain where the application runs.
* This function may requires priviledged access to the hypervisor.
* This function may requires privileged access to the hypervisor.
*
* Returns 0 in case of success and -1 in case of failure.
*/
......@@ -2805,7 +2805,7 @@ virDomainSetAutostart(virDomainPtr domain,
* Dynamically change the number of virtual CPUs used by the domain.
* Note that this call may fail if the underlying virtualization hypervisor
* does not support it or if growing the number is arbitrary limited.
* This function requires priviledged access to the hypervisor.
* This function requires privileged access to the hypervisor.
*
* Returns 0 in case of success, -1 in case of failure.
*/
......@@ -2856,7 +2856,7 @@ virDomainSetVcpus(virDomainPtr domain, unsigned int nvcpus)
* If maplen > size, failure code is returned.
*
* Dynamically change the real CPUs which can be allocated to a virtual CPU.
* This function requires priviledged access to the hypervisor.
* This function requires privileged access to the hypervisor.
*
* Returns 0 in case of success, -1 in case of failure.
*/
......@@ -3486,7 +3486,7 @@ virNetworkCreate(virNetworkPtr network)
* already and all resources used by it are given back to the hypervisor.
* The data structure is freed and should not be used thereafter if the
* call does not return an error.
* This function may requires priviledged access
* This function may requires privileged access
*
* Returns 0 in case of success and -1 in case of failure.
*/
......@@ -3753,7 +3753,7 @@ virNetworkSetAutostart(virNetworkPtr network,
/**
* virStoragePoolGetConnect:
* @pool: pointer to a poool
* @pool: pointer to a pool
*
* Provides the connection pointer associated with a storage pool. The
* reference counter on the connection is not increased by this
......@@ -4638,7 +4638,7 @@ virStoragePoolListVolumes(virStoragePoolPtr pool,
/**
* virStorageVolGetConnect:
* @vol: pointer to a poool
* @vol: pointer to a pool
*
* Provides the connection pointer associated with a storage volume. The
* reference counter on the connection is not increased by this
......@@ -4789,7 +4789,7 @@ virStorageVolGetName(virStorageVolPtr vol)
* @vol: pointer to storage volume
*
* Fetch the storage volume key. This is globally
* unique, so the same volume will hve the same
* unique, so the same volume will have the same
* key no matter what host it is accessed from
*
* return the volume key, or NULL on error
......
......@@ -17,7 +17,7 @@
# Examples include vinagre, virt-viewer, virt-manager and vencrypt
# itself. UltraVNC, RealVNC, TightVNC do not support this
#
# It is neccessary to setup CA and issue a server certificate
# It is necessary to setup CA and issue a server certificate
# before enabling this.
#
# vnc_tls = 1
......
......@@ -4071,7 +4071,7 @@ remoteAuthPolkit (virConnectPtr conn, struct private_data *priv, int in_open,
DEBUG0("Client initialize PolicyKit authentication");
if (auth && auth->cb) {
/* Check if the neccessary credential type for PolicyKit is supported */
/* Check if the necessary credential type for PolicyKit is supported */
for (i = 0 ; i < auth->ncredtype ; i++) {
if (auth->credtype[i] == VIR_CRED_EXTERNAL)
allowcb = 1;
......
......@@ -3189,7 +3189,7 @@ xenDaemonLookupByUUID(virConnectPtr conn, const unsigned char *uuid)
*
* Launch a new Linux guest domain, based on an XML description similar
* to the one returned by virDomainGetXMLDesc()
* This function may requires priviledged access to the hypervisor.
* This function may requires privileged access to the hypervisor.
*
* Returns a new domain object or NULL in case of failure
*/
......
......@@ -12,7 +12,7 @@
# NB, must pass the --listen flag to the libvirtd process for this to
# have any effect.
#
# It is neccessary to setup a CA and issue server certificates before
# It is necessary to setup a CA and issue server certificates before
# using this capability.
#
# This is enabled by default, uncomment this to disable it
......
......@@ -9,7 +9,7 @@
# NB, must pass the --listen flag to the libvirtd process for this to
# have any effect.
#
# It is neccessary to setup a CA and issue server certificates before
# It is necessary to setup a CA and issue server certificates before
# using this capability.
#
# This is enabled by default, uncomment this to disable it
......
......@@ -219,7 +219,7 @@ list the values supported but the most common are:
this is used to connect to the local Xen hypervisor, this is the default
.IP "qemu:///system" 4
.IX Item "qemu:///system"
allow to connect locally as root to the daemon supervizing QEmu and \s-1KVM\s0 domains
allow to connect locally as root to the daemon supervising QEmu and \s-1KVM\s0 domains
.IP "qemu:///session" 4
.IX Item "qemu:///session"
allow to connect locally as a normal user to the his own set of QEmu and \s-1KVM\s0 domains
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册