On Wed, Feb 09, 2011 at 01:20:39PM -0700, Eric Blake wrote: > On 02/09/2011 09:58 AM, Daniel P. Berrange wrote: > > The introduction of the v3 migration protocol, along with > > support for migration cookies, will significantly expand > > the size of the migration code. Move it all to a separate > > file to make it more manageable > > > > The functions are not moved 100%. The API entry points > > remain in the main QEMU driver, but once the public > > virDomainPtr is resolved to the internal virDomainObjPtr, > > all following code is moved. > > > > This will allow the new v3 API entry points to call into the > > same shared internal migration functions > > > > * src/qemu/qemu_domain.c, src/qemu/qemu_domain.h: Add > > qemuDomainFormatXML helper method > > * src/qemu/qemu_driver.c: Remove all migration code > > * src/qemu/qemu_migration.c, src/qemu/qemu_migration.h: Add > > all migration code. > > --- > > po/POTFILES.in | 1 + > > src/Makefile.am | 3 +- > > src/qemu/qemu_domain.c | 39 ++ > > src/qemu/qemu_domain.h | 4 + > > src/qemu/qemu_driver.c | 1297 ++------------------------------------------- > > src/qemu/qemu_migration.c | 1295 ++++++++++++++++++++++++++++++++++++++++++++ > > src/qemu/qemu_migration.h | 63 +++ > > 7 files changed, 1445 insertions(+), 1257 deletions(-) > > create mode 100644 src/qemu/qemu_migration.c > > create mode 100644 src/qemu/qemu_migration.h > > You fixed my concerns from v1; however, you missed that commit ee3b030 > in the meantime has changed what needed migration. > > > + * This version starts an empty VM listening on a localhost TCP port, and > > + * sets up the corresponding virStream to handle the incoming data. > > + */ > > +int > > +qemuMigrationPrepareTunnel(struct qemud_driver *driver, > > + virConnectPtr dconn, > > + virStreamPtr st, > > + const char *dname, > > + const char *dom_xml) > > +{ > > > + /* Parse the domain XML. */ > > + if (!(def = virDomainDefParseString(driver->caps, dom_xml, > > + VIR_DOMAIN_XML_INACTIVE))) { > > + qemuReportError(VIR_ERR_OPERATION_FAILED, > > + "%s", _("failed to parse XML")); > > + goto cleanup; > > This needs to be: > > qemuReportError(VIR_ERR_OPERATION_FAILED, > - "%s", _("failed to parse XML")); > + "%s", _("failed to parse XML, libvirt version > may be " > + "different between source and > destination host")); > > ACK with that nit fixed. Actually that change should not have been included in the first place. The entire line should have been deleted as per: http://www.redhat.com/archives/libvir-list/2011-January/msg01271.html I'm deleting it in my series 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 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list