[Spice-devel] changing the timing of spice client linking in migration (RHBZ #725009)

Yonit Halperin 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:
>> spice-server
>> =============
>> (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 
client.
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.
Thanks.
> Christophe



More information about the Spice-devel mailing list