On 03/14/13 17:36, Hans de Goede wrote: > From: Alon Levy <al...@redhat.com> > > The target has not seen the guest_connected event via > spice_chr_guest_open or spice_chr_write, and so spice server wrongly > assumes there is no agent active, while the client continues to send > motion events only by the agent channel, which the server ignores. The > net effect is that the mouse is static in the guest. > > By registering the interface on post load spice server will pass on the > agent messages fixing the mouse behavior after migration.
> +static VMStateDescription spice_chr_vmstate = { > + .name = "spice-chr", > + .version_id = 1, > + .minimum_version_id = 1, > + .post_load = spice_chr_post_load, > + .fields = (VMStateField[]) { > + VMSTATE_UINT32(guest_open, SpiceCharDriver), > + VMSTATE_END_OF_LIST() > + }, > +}; > + vmstate_register(NULL, -1, &spice_chr_vmstate, s); > + That is a showstopper. If there are two of these there is no reliable way to figure which is which. Do we actually need that in the first place? I assume virtio-serial will migrate the guest-open state anyway. So if we can use that somehow we don't have to live migrate the chardev state ... cheers, Gerd