[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] hw/virtio-serial-bus: replay guest open on dest
From: |
Amit Shah |
Subject: |
Re: [Qemu-devel] [PATCH] hw/virtio-serial-bus: replay guest open on destination |
Date: |
Tue, 27 Nov 2012 18:18:15 +0530 |
On (Sun) 25 Nov 2012 [15:39:14], Alon Levy wrote:
> When migrating a host with with a spice agent running the mouse becomes
> non operational after the migration due to the agent state being
> inconsistent between the guest and the client if the client is using
> semi-seamless or switch host migration.
>
> After migration the target client has never received the guest_open
> initiated spice message. Virtio-serial holds this state information and
> migrates it, so replay that over the chardev post migration. Fix is not
> spice specific but spice is the only client that cares about it.
Thanks for continuing to pursue this :)
> rhbz #725965.
> ---
> hw/virtio-serial-bus.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c
> index efa8a81..ccce1fa 100644
> --- a/hw/virtio-serial-bus.c
> +++ b/hw/virtio-serial-bus.c
> @@ -641,6 +641,7 @@ static void virtio_serial_post_load_timer_cb(void *opaque)
> VirtIOSerial *s = opaque;
> VirtIOSerialPort *port;
> uint8_t host_connected;
> + VirtIOSerialPortClass *vsc;
>
> for (i = 0 ; i < s->post_load.nr_active_ports; ++i) {
> port = s->post_load.connected[i].port;
> @@ -653,6 +654,11 @@ static void virtio_serial_post_load_timer_cb(void
> *opaque)
> send_control_event(port, VIRTIO_CONSOLE_PORT_OPEN,
> port->host_connected);
> }
> + vsc = VIRTIO_SERIAL_PORT_GET_CLASS(port);
> + if (port->guest_connected && vsc->guest_open) {
> + /* replay guest open */
> + vsc->guest_open(port);
> + }
I think the last time we discussed this, my objection was the guest
isn't really doing an open again, and since spice depends on the
guest's connectedness, spice should have a post-load hook or a similar
bh that would query virtio-serial for guest connectedness status, and,
if connected, do whatever setup is necessary.
Adding Gerd and Markus as I think they were involved in the discussion
last time as well.
Amit
- [Qemu-devel] [PATCH] hw/virtio-serial-bus: replay guest open on destination, Alon Levy, 2012/11/25
- Re: [Qemu-devel] [PATCH] hw/virtio-serial-bus: replay guest open on destination,
Amit Shah <=
- Re: [Qemu-devel] [PATCH] hw/virtio-serial-bus: replay guest open on destination, Markus Armbruster, 2012/11/27
- Re: [Qemu-devel] [PATCH] hw/virtio-serial-bus: replay guest open on destination, Anthony Liguori, 2012/11/27
- [Qemu-devel] [PATCH 1/3] virtio-serial: add virtio_serial_guest_connected, Alon Levy, 2012/11/28
- [Qemu-devel] [PATCH 3/3] spice-qemu-char: register interface on post load, Alon Levy, 2012/11/28
- Re: [Qemu-devel] [PATCH 3/3] spice-qemu-char: register interface on post load, Markus Armbruster, 2012/11/28
- Re: [Qemu-devel] [PATCH 3/3] spice-qemu-char: register interface on post load, Alon Levy, 2012/11/28