On Fri, Dec 16, 2011 at 03:45:36PM -0700, Eric Blake wrote:
On 12/15/2011 03:50 AM, Hu Tao wrote:
> Set up the types for the numa functions and insert them into the
> virDriver structure definition.
> ---
> include/libvirt/libvirt.h.in | 23 +++++++++++++++++++++++
> python/generator.py | 2 ++
> src/driver.h | 15 +++++++++++++++
> src/libvirt_public.syms | 6 ++++++
> 4 files changed, 46 insertions(+), 0 deletions(-)
>
> +/* Manage numa parameters */
> +
> +/**
> + * VIR_DOMAIN_NUMA_NODESET:
> + *
> + * numa nodeset
> + */
> +#define VIR_DOMAIN_NUMA_NODESET "numa_nodeset"
> +
> +/**
> + * VIR_DOMAIN_NUMA_MODE:
> + *
> + * numa mode
> + */
> +#define VIR_DOMAIN_NUMA_MODE "numa_mode"
That's awfully sparse on details, such as what type is expected.
Furthermore, after reading 6/8, I noticed that you are using numa_mode
to hold a non-public enum value, which makes it a non-starter. I'm
squashing this in, to make the enum public and add some documentation.
Sorry didn't notice the enums are not public.
diff --git i/include/libvirt/libvirt.h.in w/include/libvirt/libvirt.h.in
index 55f27ae..da370fb 100644
--- i/include/libvirt/libvirt.h.in
+++ w/include/libvirt/libvirt.h.in
@@ -1347,16 +1347,32 @@ typedef enum {
/* Manage numa parameters */
/**
+ * virDomainNumatuneMemMode:
+ * Representation of the various modes in the <numatune> element of
+ * a domain.
+ */
+enum virDomainNumatuneMemMode {
Error on generating docs here. Changing to
typedef enum {
...
} virDomainNumatuneMemMode;
makes it works. The rest seems ok to me.
+ VIR_DOMAIN_NUMATUNE_MEM_STRICT = 0,
+ VIR_DOMAIN_NUMATUNE_MEM_PREFERRED = 1,
+ VIR_DOMAIN_NUMATUNE_MEM_INTERLEAVE = 2,
+
+ /* This constant is subject to change */
+ VIR_DOMAIN_NUMATUNE_MEM_LAST
+};
+
+/**
* VIR_DOMAIN_NUMA_NODESET:
*
- * numa nodeset
+ * Macro for typed parameter name that lists the numa nodeset of a
+ * domain, as a string.
*/
#define VIR_DOMAIN_NUMA_NODESET "numa_nodeset"
/**
* VIR_DOMAIN_NUMA_MODE:
*
- * numa mode
+ * Macro for typed parameter name that lists the numa mode of a domain,
+ * as an int containing a virDomainNumatuneMemMode value.
*/
#define VIR_DOMAIN_NUMA_MODE "numa_mode"
diff --git i/src/conf/domain_conf.h w/src/conf/domain_conf.h
index 3229a6f..189b8f6 100644
--- i/src/conf/domain_conf.h
+++ w/src/conf/domain_conf.h
@@ -1355,14 +1355,6 @@ virDomainVcpuPinDefPtr
virDomainVcpuPinFindByVcpu(virDomainVcpuPinDefPtr *def,
int nvcpupin,
int vcpu);
-enum virDomainNumatuneMemMode {
- VIR_DOMAIN_NUMATUNE_MEM_STRICT,
- VIR_DOMAIN_NUMATUNE_MEM_PREFERRED,
- VIR_DOMAIN_NUMATUNE_MEM_INTERLEAVE,
-
- VIR_DOMAIN_NUMATUNE_MEM_LAST
-};
-
typedef struct _virDomainNumatuneDef virDomainNumatuneDef;
typedef virDomainNumatuneDef *virDomainNumatuneDefPtr;
struct _virDomainNumatuneDef {
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org
--
Thanks,
Hu Tao