[libvirt] [PATCH 2/6] Move all the QEMU migration code to a new file

Daniel P. Berrange berrange at redhat.com
Fri Feb 11 11:48:01 UTC 2011


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




More information about the libvir-list mailing list