[Spice-devel] changing the timing of spice client linking in migration (RHBZ #725009)
yhalperi at redhat.com
Wed Aug 17 00:09:22 PDT 2011
On 08/16/2011 06:53 PM, Christophe Fergeau wrote:
> Hey Yonit,
> I've carefully read the bug report and your email, and looked a bit at the
> code, but I'm totally unfamiliar with migration stuff :-/ Your plan sounds
> good to me, hopefully changing the client the way you describe won't be too
> hard. I had one question though, see below
> On Tue, Aug 16, 2011 at 12:53:53PM +0300, Yonit Halperin wrote:
>> (A) Migration source side
>> * reds::spice_server_migrate_start:
>> send SPICE_MSG_MAIN_MIGRATE_SWITCH_HOST.
>> We can't use SPICE_MSG_MAIN_MIGRATE_BEGIN since it doesn't
>> include the certificate information we need. But we can change it
>> to be identical to SPICE_MSG_MAIN_MIGRATE_SWITCH_HOST.
>> * reds::spice_server_migrate_end(completed)
>> - if (completed) => send SPICE_MSG_MIGRATE (flags=0) to all
>> connected channels (via Channel->migrate).
>> - if (!completed) => send SPICE_MSG_MAIN_MIGRATE_CANCEL
> These functions are part of the exported ABI, spice_server_migrate_start
> doesn't do anything because of a if (1) return -1; but
> spice_server_migrate_end does a lot of stuff if called. They seem to be
> unused, but if we start using them to implement a different migration
> scheme, won't we break some ABI that we should keep?
actually, in RHEL6.0 (spice-server-0.4.2-15.el6, not upstream), we did
use spice_server_migrate_start, and spice_server_migrate_end, but
differently: spice_server_migrate_start made the server not listen to
new connection, and spice_server_migrate_end sent the SWITCH_HOST to the
I don't really know why, but from RHEL6.1 spice_server_migrate_switch
was introduced, and spice_server_migrate_start/end where no longer used,
and their code was changed to be more like the code of the seamless
migration. So actually, migration of RHEL6.0 qemu-kvm with >=RHEL6.1
spice-server, is broken....Apparently, the above changes to
migrate_start and migrate_end, will make RHEL6.0 qemu-kvm work with the
newest spice-server again.
> Let me know what I can help with,
Will do. It looks like most of the work will be testing. And I don't
know how much work there is for spice-gtk.
More information about the Spice-devel