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 :|