[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