On Fri, Dec 16, 2011 at 09:22:37AM -0700, Eric Blake wrote:
On 12/15/2011 03:50 AM, Hu Tao wrote:
> ---
> src/libvirt.c | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 113 insertions(+), 0 deletions(-)
I've reviewed 1-4, and the first three look fine; however, I'm going to
squash 3 and 4 into a single patch (it's easier to see the documentation
in libvirt.c alongside the entry points added in libvirt.h in the same
commit). Also,
OK with merging 3 and 4.
> +/**
> + * virDomainGetNumaParameters:
> + * @domain: pointer to domain object
> + * @params: pointer to numa parameter object
> + * (return value, allocated by the caller)
> + * @nparams: pointer to number of numa parameters
> + * @flags: one of virDomainModificationImpact
> + *
> + * This function may require privileged access to the hypervisor. This function
> + * expects the caller to allocate the @params.
You didn't document how to set @params and @nparams. So I squashed in:
Thanks.
diff --git i/src/libvirt.c w/src/libvirt.c
index e61d91e..574be16 100644
--- i/src/libvirt.c
+++ w/src/libvirt.c
@@ -3772,7 +3772,7 @@ error:
* virDomainSetNumaParameters:
* @domain: pointer to domain object
* @params: pointer to numa parameter objects
- * @nparams: number of numa parameter (this value can be the same or
+ * @nparams: number of numa parameters (this value can be the same or
* less than the number of parameters supported)
* @flags: bitwise-OR of virDomainModificationImpact
*
@@ -3781,9 +3781,10 @@ error:
*
* Returns -1 in case of error, 0 in case of success.
*/
-int virDomainSetNumaParameters(virDomainPtr domain,
- virTypedParameterPtr params,
- int nparams, unsigned int flags)
+int
+virDomainSetNumaParameters(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int nparams, unsigned int flags)
{
virConnectPtr conn;
@@ -3812,7 +3813,8 @@ int virDomainSetNumaParameters(virDomainPtr
domain,
if (conn->driver->domainSetNumaParameters) {
int ret;
- ret = conn->driver->domainSetNumaParameters (domain, params,
nparams, flags);
+ ret = conn->driver->domainSetNumaParameters(domain, params,
nparams,
+ flags);
if (ret < 0)
goto error;
return ret;
@@ -3831,7 +3833,20 @@ error:
* @params: pointer to numa parameter object
* (return value, allocated by the caller)
* @nparams: pointer to number of numa parameters
- * @flags: one of virDomainModificationImpact
+ * @flags: bitwise-OR of virDomainModificationImpact and
virTypedParameterFlags
+ *
+ * Get all numa parameters. On input, @nparams gives the size of the
+ * @params array; on output, @nparams gives how many slots were filled
+ * with parameter information, which might be less but will not exceed
+ * the input value.
+ *
+ * As a special case, calling with @params as NULL and @nparams as 0 on
+ * input will cause @nparams on output to contain the number of parameters
+ * supported by the hypervisor. The caller should then allocate @params
+ * array, i.e. (sizeof(@virTypedParameter) * @nparams) bytes and call
the API
+ * again.
+ *
+ * See virDomainGetMemoryParameters() for an equivalent usage example.
*
* This function may require privileged access to the hypervisor. This
function
* expects the caller to allocate the @params.
@@ -3869,7 +3884,8 @@ virDomainGetNumaParameters(virDomainPtr domain,
if (conn->driver->domainGetNumaParameters) {
int ret;
- ret = conn->driver->domainGetNumaParameters (domain, params,
nparams, flags);
+ ret = conn->driver->domainGetNumaParameters(domain, params,
nparams,
+ flags);
if (ret < 0)
goto error;
return ret;
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org
--
Thanks,
Hu Tao