On Fri, Nov 09, 2012 at 10:57:23 +0800, li guang wrote:
...
> > @@ -2150,6 +2192,9 @@ qemuMigrationRun(struct qemud_driver
*driver,
> > return -1;
> > }
> >
> > + if (flags & VIR_MIGRATE_OFFLINE)
> > + return 0;
> > +
> > if (!(mig = qemuMigrationEatCookie(driver, vm, cookiein,
> cookieinlen,
> >
> QEMU_MIGRATION_COOKIE_GRAPHICS)))
> > goto cleanup;
>
> I still think we should not even get into qemuMigrationRun when doing
> offline migration.
No, it will get into here for I did not touch migrationPerform path,
initially I don't want to change any code at libvirt.c so I must keep
offline migration walk through whole path like normal, or there're maybe
lots of fixes, any will break up the migration path.
Well, and that's the thing that actually needs fixing. The migration code in
libvirt.c and the code doing peer-to-peer migration in qemu_migration.c are
very similar because they are doing almost the same job (only at different
levels). It makes sense to change them both at the same time. Why do you want
to avoid changing code in libvirt.c?
Jirka