[libvirt] [PATCH V2 4/8] Impl virDomainMigrateGetMaxSpeed in qemu driver
Daniel Veillard
veillard at redhat.com
Fri Sep 16 10:15:26 UTC 2011
On Thu, Sep 01, 2011 at 02:42:54PM -0600, Jim Fehlig wrote:
> From: Jim Fehlig <jfehlig at novell.com>
>
> ---
> src/qemu/qemu_driver.c | 33 +++++++++++++++++++++++++++++++++
> 1 files changed, 33 insertions(+), 0 deletions(-)
>
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index a150b08..c5fa106 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -8266,6 +8266,38 @@ cleanup:
> return ret;
> }
>
> +static int
> +qemuDomainMigrateGetMaxSpeed(virDomainPtr dom,
> + unsigned long *bandwidth,
> + unsigned int flags)
> +{
> + struct qemud_driver *driver = dom->conn->privateData;
> + virDomainObjPtr vm;
> + int ret = -1;
> +
> + virCheckFlags(0, -1);
> +
> + qemuDriverLock(driver);
> + vm = virDomainFindByUUID(&driver->domains, dom->uuid);
> + qemuDriverUnlock(driver);
> +
> + if (!vm) {
> + char uuidstr[VIR_UUID_STRING_BUFLEN];
> + virUUIDFormat(dom->uuid, uuidstr);
> + qemuReportError(VIR_ERR_NO_DOMAIN,
> + _("no domain with matching uuid '%s'"), uuidstr);
> + goto cleanup;
> + }
> +
> + *bandwidth = vm->privateData->migMaxBandwidth;
> + ret = 0;
> +
> +cleanup:
> + if (vm)
> + virDomainObjUnlock(vm);
> + return ret;
> +}
> +
> static char *qemuFindQemuImgBinary(void)
> {
> char *ret;
> @@ -9529,6 +9561,7 @@ static virDriver qemuDriver = {
> .domainAbortJob = qemuDomainAbortJob, /* 0.7.7 */
> .domainMigrateSetMaxDowntime = qemuDomainMigrateSetMaxDowntime, /* 0.8.0 */
> .domainMigrateSetMaxSpeed = qemuDomainMigrateSetMaxSpeed, /* 0.9.0 */
> + .domainMigrateGetMaxSpeed = qemuDomainMigrateGetMaxSpeed, /* 0.9.5 */
> .domainEventRegisterAny = qemuDomainEventRegisterAny, /* 0.8.0 */
> .domainEventDeregisterAny = qemuDomainEventDeregisterAny, /* 0.8.0 */
> .domainManagedSave = qemuDomainManagedSave, /* 0.8.0 */
ACK,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list