[libvirt] [PATCH 3/9] Remote driver implmentation of job info API

Daniel Veillard veillard at redhat.com
Fri Feb 26 17:42:51 UTC 2010


On Thu, Feb 18, 2010 at 03:56:09PM +0000, Daniel P. Berrange wrote:
> * src/remote/remote_protocol.x: Define wire protocol format
>   for virDomainGetJobInfo API
> * src/remote/remote_driver.c, daemon/remote.c: Implement client
>   and server marshalling code for virDomainGetJobInfo()
> * daemon/remote_dispatch_args.h, daemon/remote_dispatch_prototypes.h
>   daemon/remote_dispatch_ret.h, daemon/remote_dispatch_table.h,
>   src/remote/remote_protocol.c, src/remote/remote_protocol.h: Rebuild
>   files from src/remote/remote_protocol.x
> ---
>  daemon/remote.c                     |   44 +++++++++++++++++++++++++++++++++++
>  daemon/remote_dispatch_args.h       |    1 +
>  daemon/remote_dispatch_prototypes.h |    8 ++++++
>  daemon/remote_dispatch_ret.h        |    1 +
>  daemon/remote_dispatch_table.h      |    5 ++++
>  src/remote/remote_driver.c          |   42 ++++++++++++++++++++++++++++++++-
>  src/remote/remote_protocol.c        |   40 +++++++++++++++++++++++++++++++
>  src/remote/remote_protocol.h        |   26 ++++++++++++++++++++
>  src/remote/remote_protocol.x        |   27 ++++++++++++++++++++-
>  9 files changed, 192 insertions(+), 2 deletions(-)
> 
> diff --git a/daemon/remote.c b/daemon/remote.c
> index eacc6f9..67d663e 100644
> --- a/daemon/remote.c
> +++ b/daemon/remote.c
> @@ -5386,6 +5386,50 @@ remoteDispatchCpuBaseline(struct qemud_server *server ATTRIBUTE_UNUSED,
>      }
>  
>      ret->cpu = cpu;
> +
> +    return 0;
> +}
> +
> +
> +static int
> +remoteDispatchDomainGetJobInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
> +                                struct qemud_client *client ATTRIBUTE_UNUSED,
> +                                virConnectPtr conn,
> +                                remote_message_header *hdr ATTRIBUTE_UNUSED,
> +                                remote_error *rerr,
> +                                remote_domain_get_job_info_args *args,
> +                                remote_domain_get_job_info_ret *ret)
> +{
> +    virDomainPtr dom;
> +    virDomainJobInfo info;
> +
> +    dom = get_nonnull_domain (conn, args->dom);
> +    if (dom == NULL) {
> +        remoteDispatchConnError(rerr, conn);
> +        return -1;
> +    }
> +
> +    if (virDomainGetJobInfo (dom, &info) == -1) {
> +        virDomainFree(dom);
> +        remoteDispatchConnError(rerr, conn);
> +        return -1;
> +    }
> +
> +    ret->type = info.type;
> +    ret->timeElapsed = info.timeElapsed;
> +    ret->timeRemaining = info.timeRemaining;
> +    ret->dataTotal = info.dataTotal;
> +    ret->dataProcessed = info.dataProcessed;
> +    ret->dataRemaining = info.dataRemaining;
> +    ret->memTotal = info.memTotal;
> +    ret->memProcessed = info.memProcessed;
> +    ret->memRemaining = info.memRemaining;
> +    ret->fileTotal = info.fileTotal;
> +    ret->fileProcessed = info.fileProcessed;
> +    ret->fileRemaining = info.fileRemaining;
> +
> +    virDomainFree(dom);
> +
>      return 0;
>  }

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