From ffcb4a3f7c89f15031e6077ad350bf4fc66d571c Mon Sep 17 00:00:00 2001 From: Jim Fehlig Date: Fri, 26 Aug 2011 12:10:21 -0600 Subject: Add public API for getting migration speed Includes impl of python binding since the generator was not able to cope. Note: Requires gendispatch.pl patch from Matthias Bolte https://www.redhat.com/archives/libvir-list/2011-August/msg01367.html --- generator.py | 1 + libvirt-override-api.xml | 6 ++++++ libvirt-override.c | 24 ++++++++++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/generator.py b/generator.py index 97434ed..cc253cf 100755 --- a/generator.py +++ b/generator.py @@ -372,6 +372,7 @@ skip_impl = ( 'virNodeGetCPUStats', 'virNodeGetMemoryStats', 'virDomainGetBlockJobInfo', + 'virDomainMigrateGetMaxSpeed', ) diff --git a/libvirt-override-api.xml b/libvirt-override-api.xml index 2fa5eed..1cf115c 100644 --- a/libvirt-override-api.xml +++ b/libvirt-override-api.xml @@ -356,5 +356,11 @@ + + Get currently configured maximum migration speed for a domain + + + + diff --git a/libvirt-override.c b/libvirt-override.c index b5650e2..b020342 100644 --- a/libvirt-override.c +++ b/libvirt-override.c @@ -4543,6 +4543,29 @@ libvirt_virDomainSendKey(PyObject *self ATTRIBUTE_UNUSED, return py_retval; } +static PyObject * +libvirt_virDomainMigrateGetMaxSpeed(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { + PyObject *py_retval; + int c_retval; + unsigned long bandwidth; + virDomainPtr domain; + PyObject *pyobj_domain; + + if (!PyArg_ParseTuple(args, (char *)"O:virDomainMigrateGetMaxSpeed", &pyobj_domain)) + return(NULL); + + domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain); + + LIBVIRT_BEGIN_ALLOW_THREADS; + c_retval = virDomainMigrateGetMaxSpeed(domain, &bandwidth, 0); + LIBVIRT_END_ALLOW_THREADS; + + if (c_retval < 0) + return VIR_PY_INT_FAIL; + py_retval = libvirt_ulongWrap(bandwidth); + return(py_retval); +} + /************************************************************************ * * * The registration stuff * @@ -4632,6 +4655,7 @@ static PyMethodDef libvirtMethods[] = { {(char *) "virDomainRevertToSnapshot", libvirt_virDomainRevertToSnapshot, METH_VARARGS, NULL}, {(char *) "virDomainGetBlockJobInfo", libvirt_virDomainGetBlockJobInfo, METH_VARARGS, NULL}, {(char *) "virDomainSendKey", libvirt_virDomainSendKey, METH_VARARGS, NULL}, + {(char *) "virDomainMigrateGetMaxSpeed", libvirt_virDomainMigrateGetMaxSpeed, METH_VARARGS, NULL}, {NULL, NULL, 0, NULL} }; -- cgit