Re: [libvirt] [PATCH 1/6] libvirt: Add virDomainSetBlkioParameters virDomainGetBlkioParameters
On 02/21/2011 02:21 AM, Gui Jianfeng wrote: > Add virDomainSetBlkioParameters virDomainGetBlkioParameters > > Signed-off-by: Gui Jianfeng > --- > .gnulib |2 +- That was unintended - it rewinds .gnulib backwards in time, which reintroduces some upstream gnulib bugs. To fix it, run another rebase, and mark this commit for edit. Then: git checkout HEAD^ .gnulib git submodule update > include/libvirt/libvirt.h.in| 67 > +++ > python/generator.py |2 + > python/libvirt-override-api.xml | 12 +++ > python/libvirt-override.c | 17 ++ > 5 files changed, 99 insertions(+), 1 deletions(-) > + * virDomainBlkioParameter: > + * > + * a virDomainBlkioParameter is the set of blkio parameteer s/parameteer/parameters/ -- Eric Blake ebl...@redhat.com+1-801-349-2682 Libvirt virtualization library http://libvirt.org signature.asc Description: OpenPGP digital signature -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
[libvirt] [PATCH 1/6] libvirt: Add virDomainSetBlkioParameters virDomainGetBlkioParameters
Add virDomainSetBlkioParameters virDomainGetBlkioParameters Signed-off-by: Gui Jianfeng --- .gnulib |2 +- include/libvirt/libvirt.h.in| 67 +++ python/generator.py |2 + python/libvirt-override-api.xml | 12 +++ python/libvirt-override.c | 17 ++ 5 files changed, 99 insertions(+), 1 deletions(-) diff --git a/.gnulib b/.gnulib index 17adb5d..ecb020f 16 --- a/.gnulib +++ b/.gnulib @@ -1 +1 @@ -Subproject commit 17adb5d75404cf6cdde0eb3b2edc6110d9fa8001 +Subproject commit ecb020f2b046790d76d05d377ca1e864e2bc9fdc diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in index 5dfb752..819c700 100644 --- a/include/libvirt/libvirt.h.in +++ b/include/libvirt/libvirt.h.in @@ -676,6 +676,73 @@ int virDomainGetInfo (virDomainPtr domain, */ char * virDomainGetSchedulerType(virDomainPtr domain, int *nparams); +/** + * virDomainBlkioParameterType: + * + * A blkio parameter field type + */ +typedef enum { +VIR_DOMAIN_BLKIO_PARAM_INT = 1, /* integer case */ +VIR_DOMAIN_BLKIO_PARAM_UINT= 2, /* unsigned integer case */ +VIR_DOMAIN_BLKIO_PARAM_LLONG = 3, /* long long case */ +VIR_DOMAIN_BLKIO_PARAM_ULLONG = 4, /* unsigned long long case */ +VIR_DOMAIN_BLKIO_PARAM_DOUBLE = 5, /* double case */ +VIR_DOMAIN_BLKIO_PARAM_BOOLEAN = 6 /* boolean(character) case */ +} virBlkioParameterType; + +/** + * VIR_DOMAIN_BLKIO_FIELD_LENGTH: + * + * Macro providing the field length of virBlkioParameter + */ + +#define VIR_DOMAIN_BLKIO_FIELD_LENGTH 80 + +/** + * VIR_DOMAIN_BLKIO_WEIGHT: + * + * Macro for the Blkio tunable weight: it represents the io weight + * the guest can use. + */ + +#define VIR_DOMAIN_BLKIO_WEIGHT "weight" + +/** + * virDomainBlkioParameter: + * + * a virDomainBlkioParameter is the set of blkio parameteer + */ + +typedef struct _virBlkioParameter virBlkioParameter; + +struct _virBlkioParameter { +char field[VIR_DOMAIN_BLKIO_FIELD_LENGTH]; /* parameter name */ +int type; /* parameter type */ +union { +int i; /* data for integer case */ +unsigned int ui;/* data for unsigned integer case */ +long long int l;/* data for long long integer case */ +unsigned long long int ul; /* data for unsigned long long integer case */ +double d; /* data for double case */ +char b; /* data for char case */ +} value; /* parameter value */ +}; + +/** + * virBlkioParameterPtr: + * + * a virBlkioParameterPtr is a pointer to a virBlkioParameter structure. + */ + +typedef virBlkioParameter *virBlkioParameterPtr; + +/* Set Blkio tunables for the domain*/ +int virDomainSetBlkioParameters(virDomainPtr domain, + virBlkioParameterPtr params, + int nparams, unsigned int flags); +int virDomainGetBlkioParameters(virDomainPtr domain, + virBlkioParameterPtr params, + int *nparams, unsigned int flags); /** * virDomainMemoryParameterType: diff --git a/python/generator.py b/python/generator.py index ee9dfe4..6f4bb40 100755 --- a/python/generator.py +++ b/python/generator.py @@ -306,6 +306,8 @@ skip_impl = ( 'virDomainGetSchedulerType', 'virDomainGetSchedulerParameters', 'virDomainSetSchedulerParameters', +'virDomainSetBlkioParameters', +'virDomainGetBlkioParameters', 'virDomainSetMemoryParameters', 'virDomainGetMemoryParameters', 'virDomainGetVcpus', diff --git a/python/libvirt-override-api.xml b/python/libvirt-override-api.xml index f209608..54deeb5 100644 --- a/python/libvirt-override-api.xml +++ b/python/libvirt-override-api.xml @@ -162,6 +162,18 @@ + + Change the blkio tunables + + + + + + Get the blkio parameters, the @params array will be filled with the values. + + + + Change the memory tunables diff --git a/python/libvirt-override.c b/python/libvirt-override.c index 4a03d72..e09e2b5 100644 --- a/python/libvirt-override.c +++ b/python/libvirt-override.c @@ -371,6 +371,23 @@ libvirt_virDomainSetSchedulerParameters(PyObject *self ATTRIBUTE_UNUSED, return VIR_PY_INT_SUCCESS; } + + + +/* FIXME: This is a place holder for the implementation. */ +static PyObject * +libvirt_virDomainSetBlkioParameters(PyObject *self ATTRIBUTE_UNUSED, + PyObject *args ATTRIBUTE_UNUSED) { +return VIR_PY_INT_FAIL; +} + +/* FIXME: This is a place holder for the implementation. */ +static PyObject * +libvirt_virDomainGetBlkioParameters(PyObject *self ATTRIBUTE_UNUSED, + PyObject *args ATTRIBUTE_UNUSED) { +return
[libvirt] [PATCH 1/6] libvirt: Add virDomainSetBlkioParameters virDomainGetBlkioParameters
Add virDomainSetBlkioParameters virDomainGetBlkioParameters Signed-off-by: Gui Jianfeng --- include/libvirt/libvirt.h.in| 67 +++ python/generator.py |2 + python/libvirt-override-api.xml | 12 +++ python/libvirt-override.c | 17 ++ 4 files changed, 98 insertions(+), 0 deletions(-) diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in index 5dfb752..00b6216 100644 --- a/include/libvirt/libvirt.h.in +++ b/include/libvirt/libvirt.h.in @@ -676,6 +676,73 @@ int virDomainGetInfo (virDomainPtr domain, */ char * virDomainGetSchedulerType(virDomainPtr domain, int *nparams); +/** + * virDomainBlkioParameterType: + * + * A blkio parameter field type + */ +typedef enum { +VIR_DOMAIN_BLKIO_PARAM_INT = 1, /* integer case */ +VIR_DOMAIN_BLKIO_PARAM_UINT= 2, /* unsigned integer case */ +VIR_DOMAIN_BLKIO_PARAM_LLONG = 3, /* long long case */ +VIR_DOMAIN_BLKIO_PARAM_ULLONG = 4, /* unsigned long long case */ +VIR_DOMAIN_BLKIO_PARAM_DOUBLE = 5, /* double case */ +VIR_DOMAIN_BLKIO_PARAM_BOOLEAN = 6 /* boolean(character) case */ +} virBlkioParameterType; + +/** + * VIR_DOMAIN_BLKIO_FIELD_LENGTH: + * + * Macro providing the field length of virBlkioParameter + */ + +#define VIR_DOMAIN_BLKIO_FIELD_LENGTH 80 + +/** + * VIR_DOMAIN_BLKIO_WEIGHT: + * + * Macro for the Blkio tunable weight: it represents the io weight + * the guest can use. + */ + +#define VIR_DOMAIN_BLKIO_WEIGHT "weight" + +/** + * virDomainBlkioParameter: + * + * a virDomainBlkioParameter is the set of blkio cgroup parameteer + */ + +typedef struct _virBlkioParameter virBlkioParameter; + +struct _virBlkioParameter { +char field[VIR_DOMAIN_BLKIO_FIELD_LENGTH]; /* parameter name */ +int type; /* parameter type */ +union { +int i; /* data for integer case */ +unsigned int ui;/* data for unsigned integer case */ +long long int l;/* data for long long integer case */ +unsigned long long int ul; /* data for unsigned long long integer case */ +double d; /* data for double case */ +char b; /* data for char case */ +} value; /* parameter value */ +}; + +/** + * virBlkioParameterPtr: + * + * a virBlkioParameterPtr is a pointer to a virBlkioParameter structure. + */ + +typedef virBlkioParameter *virBlkioParameterPtr; + +/* Set Blkio tunables for the domain*/ +int virDomainSetBlkioParameters(virDomainPtr domain, + virBlkioParameterPtr params, + int nparams, unsigned int flags); +int virDomainGetBlkioParameters(virDomainPtr domain, + virBlkioParameterPtr params, + int *nparams, unsigned int flags); /** * virDomainMemoryParameterType: diff --git a/python/generator.py b/python/generator.py index 15751bd..8db4b9e 100755 --- a/python/generator.py +++ b/python/generator.py @@ -306,6 +306,8 @@ skip_impl = ( 'virDomainGetSchedulerType', 'virDomainGetSchedulerParameters', 'virDomainSetSchedulerParameters', +'virDomainSetBlkioParameters', +'virDomainGetBlkioParameters', 'virDomainSetMemoryParameters', 'virDomainGetMemoryParameters', 'virDomainGetVcpus', diff --git a/python/libvirt-override-api.xml b/python/libvirt-override-api.xml index f209608..54deeb5 100644 --- a/python/libvirt-override-api.xml +++ b/python/libvirt-override-api.xml @@ -162,6 +162,18 @@ + + Change the blkio tunables + + + + + + Get the blkio parameters, the @params array will be filled with the values. + + + + Change the memory tunables diff --git a/python/libvirt-override.c b/python/libvirt-override.c index 4a03d72..e09e2b5 100644 --- a/python/libvirt-override.c +++ b/python/libvirt-override.c @@ -371,6 +371,23 @@ libvirt_virDomainSetSchedulerParameters(PyObject *self ATTRIBUTE_UNUSED, return VIR_PY_INT_SUCCESS; } + + + +/* FIXME: This is a place holder for the implementation. */ +static PyObject * +libvirt_virDomainSetBlkioParameters(PyObject *self ATTRIBUTE_UNUSED, + PyObject *args ATTRIBUTE_UNUSED) { +return VIR_PY_INT_FAIL; +} + +/* FIXME: This is a place holder for the implementation. */ +static PyObject * +libvirt_virDomainGetBlkioParameters(PyObject *self ATTRIBUTE_UNUSED, + PyObject *args ATTRIBUTE_UNUSED) { +return VIR_PY_INT_FAIL; +} + /* FIXME: This is a place holder for the implementation. */ static PyObject * libvirt_virDomainSetMemoryParameters(PyObject *self ATTRIBUTE_UNUSED, -- 1.7.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.co