[libvirt] [PATCH v2 6/9] remote: Implement virDomainGetState
Daniel P. Berrange
berrange at redhat.com
Fri May 13 09:53:47 UTC 2011
On Tue, May 10, 2011 at 03:39:08PM +0200, Jiri Denemark wrote:
> ---
> Notes:
> Version 2:
> - rebased
> - unsigned int flags
>
> daemon/remote_generator.pl | 3 ++-
> src/remote/remote_driver.c | 35 ++++++++++++++++++++++++++++++++++-
> 2 files changed, 36 insertions(+), 2 deletions(-)
>
> diff --git a/daemon/remote_generator.pl b/daemon/remote_generator.pl
> index ff279d5..736a352 100755
> --- a/daemon/remote_generator.pl
> +++ b/daemon/remote_generator.pl
> @@ -780,7 +780,8 @@ elsif ($opt_k) {
> "GetType",
> "NodeDeviceGetParent",
> "NodeGetSecurityModel",
> - "SecretGetValue");
> + "SecretGetValue",
> + "DomainGetState");
> } elsif ($structprefix eq "qemu") {
> @ungeneratable = ("MonitorCommand");
> }
Also needs rebasing
> diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
> index 90d95d6..e3bfa29 100644
> --- a/src/remote/remote_driver.c
> +++ b/src/remote/remote_driver.c
> @@ -2324,6 +2324,39 @@ done:
> }
>
> static int
> +remoteDomainGetState(virDomainPtr domain,
> + int *state,
> + int *reason,
> + unsigned int flags)
> +{
> + int rv = -1;
> + remote_domain_get_state_args args;
> + remote_domain_get_state_ret ret;
> + struct private_data *priv = domain->conn->privateData;
> +
> + remoteDriverLock(priv);
> +
> + make_nonnull_domain(&args.dom, domain);
> + args.flags = flags;
> +
> + memset(&ret, 0, sizeof ret);
> + if (call(domain->conn, priv, 0, REMOTE_PROC_DOMAIN_GET_STATE,
> + (xdrproc_t) xdr_remote_domain_get_state_args, (char *) &args,
> + (xdrproc_t) xdr_remote_domain_get_state_ret, (char *) &ret) == -1)
> + goto done;
> +
> + *state = ret.state;
> + if (reason)
> + *reason = ret.reason;
> +
> + rv = 0;
> +
> +done:
> + remoteDriverUnlock(priv);
> + return rv;
> +}
> +
> +static int
> remoteNodeGetSecurityModel (virConnectPtr conn, virSecurityModelPtr secmodel)
> {
> remote_node_get_security_model_ret ret;
> @@ -6417,7 +6450,7 @@ static virDriver remote_driver = {
> remoteDomainSetBlkioParameters, /* domainSetBlkioParameters */
> remoteDomainGetBlkioParameters, /* domainGetBlkioParameters */
> remoteDomainGetInfo, /* domainGetInfo */
> - NULL, /* domainGetState */
> + remoteDomainGetState, /* domainGetState */
> remoteDomainSave, /* domainSave */
> remoteDomainRestore, /* domainRestore */
> remoteDomainCoreDump, /* domainCoreDump */
ACK
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list