[libvirt] [PATCHv4 04/15] qemu: support migration to fd

Daniel P. Berrange berrange at redhat.com
Thu Mar 10 12:01:31 UTC 2011


On Wed, Mar 09, 2011 at 06:45:44PM -0700, Eric Blake wrote:
> * src/qemu/qemu_monitor.h (qemuMonitorMigrateToFd): New
> prototype.
> * src/qemu/qemu_monitor.c (qemuMonitorMigrateToFd): New function.
> ---
>  src/qemu/qemu_monitor.c |   31 +++++++++++++++++++++++++++++++
>  src/qemu/qemu_monitor.h |    4 ++++
>  2 files changed, 35 insertions(+), 0 deletions(-)

ACK

> 
> diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
> index 765a1ae..1e79523 100644
> --- a/src/qemu/qemu_monitor.c
> +++ b/src/qemu/qemu_monitor.c
> @@ -1384,6 +1384,37 @@ int qemuMonitorGetMigrationStatus(qemuMonitorPtr mon,
>  }
> 
> 
> +int qemuMonitorMigrateToFd(qemuMonitorPtr mon,
> +                           unsigned int flags,
> +                           int fd)
> +{
> +    int ret;
> +    VIR_DEBUG("mon=%p fd=%d flags=%u",
> +          mon, fd, flags);
> +
> +    if (!mon) {
> +        qemuReportError(VIR_ERR_INVALID_ARG, "%s",
> +                        _("monitor must not be NULL"));
> +        return -1;
> +    }
> +
> +    if (qemuMonitorSendFileHandle(mon, "migrate", fd) < 0)
> +        return -1;
> +
> +    if (mon->json)
> +        ret = qemuMonitorJSONMigrate(mon, flags, "fd:migrate");
> +    else
> +        ret = qemuMonitorTextMigrate(mon, flags, "fd:migrate");
> +
> +    if (ret < 0) {
> +        if (qemuMonitorCloseFileHandle(mon, "migrate") < 0)
> +            VIR_WARN0("failed to close migration handle");
> +    }
> +
> +    return ret;
> +}

It is a nice idea todo the SendFileHAndle/CloseFileHandle
calls from here, rather than in the qemu_driver code
itself. It makes the latter much clearer - we should think
about whether it makes sense to rewrite the NIC hotplug
code to work this way too.

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