qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: qemu-devel@nongnu.org
Cc: Amit Shah <amit.shah@redhat.com>,
	Hans de Goede <hdegoede@redhat.com>, Alon Levy <alevy@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>
Subject: [Qemu-devel] [PATCH 10/11] virtio-serial: propagate guest_connected to the port on post_load
Date: Tue, 26 Mar 2013 11:08:02 +0100	[thread overview]
Message-ID: <1364292483-16564-11-git-send-email-hdegoede@redhat.com> (raw)
In-Reply-To: <1364292483-16564-1-git-send-email-hdegoede@redhat.com>

From: Alon Levy <alevy@redhat.com>

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.

After migration the spicevmc backend on the destination has never been notified
of the (non 0) guest_connected state. Virtio-serial holds this state
information and migrates it, this patch properly propagates this information
to virtio-console and through that to interested chardev backends.

rhbz #725965

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 hw/virtio-serial-bus.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c
index eb7af21..a9cb114 100644
--- a/hw/virtio-serial-bus.c
+++ b/hw/virtio-serial-bus.c
@@ -579,6 +579,7 @@ static void virtio_serial_post_load_timer_cb(void *opaque)
     VirtIOSerial *s = opaque;
     VirtIOSerialPort *port;
     uint8_t host_connected;
+    VirtIOSerialPortClass *vsc;
 
     if (!s->post_load) {
         return;
@@ -594,6 +595,10 @@ static void virtio_serial_post_load_timer_cb(void *opaque)
             send_control_event(s, port->id, VIRTIO_CONSOLE_PORT_OPEN,
                                port->host_connected);
         }
+        vsc = VIRTIO_SERIAL_PORT_GET_CLASS(port);
+        if (vsc->set_guest_connected) {
+            vsc->set_guest_connected(port, port->guest_connected);
+        }
     }
     g_free(s->post_load->connected);
     qemu_free_timer(s->post_load->timer);
-- 
1.8.1.4

  parent reply	other threads:[~2013-03-26 10:05 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-26 10:07 [Qemu-devel] [PATCH 0/11] chardev frontend open handling cleanup v2 Hans de Goede
2013-03-26 10:07 ` [Qemu-devel] [PATCH 01/11] qemu-char: Rename opened to be_open Hans de Goede
2013-03-26 10:07 ` [Qemu-devel] [PATCH 02/11] qemu-char: Rename qemu_chr_generic_open to qemu_chr_be_generic_open Hans de Goede
2013-03-26 10:07 ` [Qemu-devel] [PATCH 03/11] qemu-char: Add fe_open tracking Hans de Goede
2013-03-26 10:07 ` [Qemu-devel] [PATCH 04/11] qemu-char: Automatically do fe_open / fe_close on qemu_chr_add_handlers Hans de Goede
2013-03-26 10:07 ` [Qemu-devel] [PATCH 05/11] qemu-char: Cleanup: consolidate fe_open/fe_close into fe_set_open Hans de Goede
2013-03-26 10:07 ` [Qemu-devel] [PATCH 06/11] qemu-char: Consolidate guest_close/guest_open into a set_fe_open callback Hans de Goede
2013-03-26 10:07 ` [Qemu-devel] [PATCH 07/11] qemu-char: Move incrementing of avail_connections to qdev-properties-system Hans de Goede
2013-03-26 13:07   ` Paolo Bonzini
2013-03-26 13:30     ` Hans de Goede
2013-03-26 13:50       ` Paolo Bonzini
2013-03-27 14:09         ` Hans de Goede
2013-03-27 14:58           ` Paolo Bonzini
2013-03-27 15:16             ` Hans de Goede
2013-03-26 10:08 ` [Qemu-devel] [PATCH 08/11] qemu-char: add_handlers: Don't re-send the be_open event on unregister Hans de Goede
2013-03-26 10:08 ` [Qemu-devel] [PATCH 09/11] virtio-serial: Consolidate guest_open/guest_close into set_guest_connected Hans de Goede
2013-03-26 10:08 ` Hans de Goede [this message]
2013-03-26 10:08 ` [Qemu-devel] [PATCH 11/11] spice-qemu-char: Drop hackish vmc_register on spice_chr_write Hans de Goede
2013-03-26 14:35 ` [Qemu-devel] [PATCH 0/11] chardev frontend open handling cleanup v2 Eric Blake
2013-03-27 21:15 ` Anthony Liguori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1364292483-16564-11-git-send-email-hdegoede@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=alevy@redhat.com \
    --cc=amit.shah@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).