[libvirt] [PATCH 04/21] remote_driver: add remoteDomainMigrateOpenTunnel
John Ferlan
jferlan at redhat.com
Mon Dec 14 14:53:14 UTC 2015
On 11/18/2015 01:13 PM, Pavel Boldin wrote:
> Add remoteDomainMigrateOpenTunnel that ties passed stream to the
> network stream and then makes the appropriate remote call.
>
> Signed-off-by: Pavel Boldin <pboldin at mirantis.com>
> ---
> src/remote/remote_driver.c | 43 +++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 43 insertions(+)
>
> diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
> index b72cb86..f6571a9 100644
> --- a/src/remote/remote_driver.c
> +++ b/src/remote/remote_driver.c
> @@ -8087,6 +8087,48 @@ remoteDomainRename(virDomainPtr dom, const char *new_name, unsigned int flags)
> }
>
>
> +static int
> +remoteDomainMigrateOpenTunnel(virConnectPtr dconn,
> + virStreamPtr st,
> + unsigned char uuid[VIR_UUID_BUFLEN],
Should be "const unsigned char *uuid,"
> + unsigned int flags)
> +{
> + struct private_data *priv = dconn->privateData;
> + int rv = -1;
> + remote_domain_migrate_open_tunnel_args args;
> + remote_domain_migrate_open_tunnel_ret ret;
> + virNetClientStreamPtr netst;
> +
> + remoteDriverLock(priv);
> +
> + memset(&args, 0, sizeof(args));
> + memset(&ret, 0, sizeof(ret));
> +
> + netst = virRemoteClientOpen(st, priv,
> + REMOTE_PROC_DOMAIN_MIGRATE_OPEN_TUNNEL);
> +
> + if (netst == NULL)
> + goto done;
> +
> + memcpy(args.uuid, uuid, VIR_UUID_BUFLEN);
> + args.flags = flags;
> +
> + if (call(dconn, priv, 0, REMOTE_PROC_DOMAIN_MIGRATE_OPEN_TUNNEL,
> + (xdrproc_t) xdr_remote_domain_migrate_open_tunnel_args, (char *) &args,
> + (xdrproc_t) xdr_remote_domain_migrate_open_tunnel_ret, (char *) &ret) == -1) {
> + virNetClientRemoveStream(priv->client, netst);
> + virObjectUnref(netst);
> + goto done;
> + }
> +
> + rv = ret.retcode;
> +
> + done:
> + remoteDriverUnlock(priv);
> + return rv;
> +}
> +
> +
> /* get_nonnull_domain and get_nonnull_network turn an on-wire
> * (name, uuid) pair into virDomainPtr or virNetworkPtr object.
> * These can return NULL if underlying memory allocations fail,
> @@ -8437,6 +8479,7 @@ static virHypervisorDriver hypervisor_driver = {
> .domainInterfaceAddresses = remoteDomainInterfaceAddresses, /* 1.2.14 */
> .domainSetUserPassword = remoteDomainSetUserPassword, /* 1.2.16 */
> .domainRename = remoteDomainRename, /* 1.2.19 */
> + .domainMigrateOpenTunnel = remoteDomainMigrateOpenTunnel, /* 1.2.XX */
will be at least 1.3.1
John
> };
>
> static virNetworkDriver network_driver = {
>
More information about the libvir-list
mailing list