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. -- Eric Blake eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list