WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] Xenconsoled should ignore spurious watch

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] Xenconsoled should ignore spurious watch event. Otherwise, it can rebind to the same evtchn of a dying domU during suspending and cause below error message:
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 20 Feb 2007 08:20:08 -0800
Delivery-date: Tue, 20 Feb 2007 08:19:57 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User john.levon@xxxxxxx
# Date 1171946682 28800
# Node ID 919879a492667a6dd6988196ca33ebeedde7b32d
# Parent  89ca591a2c211caf487d20261692ef4a40170cf7
Xenconsoled should ignore spurious watch event. Otherwise, it can rebind to the 
same evtchn of a dying domU during suspending and cause below error message:
(XEN) event_channel.c:177:d0 EVTCHNOP failure: domain 0, error -22, line 177
---
 tools/console/daemon/io.c |    8 ++++++++
 1 files changed, 8 insertions(+)

diff -r 89ca591a2c21 -r 919879a49266 tools/console/daemon/io.c
--- a/tools/console/daemon/io.c Mon Feb 19 20:44:42 2007 -0800
+++ b/tools/console/daemon/io.c Mon Feb 19 20:44:42 2007 -0800
@@ -63,6 +63,7 @@ struct domain
        char *conspath;
        int ring_ref;
        evtchn_port_t local_port;
+       evtchn_port_t remote_port;
        int xce_handle;
        struct xencons_interface *interface;
 };
@@ -234,6 +235,9 @@ static int domain_create_ring(struct dom
        if (err)
                goto out;
 
+       if ((ring_ref == dom->ring_ref) && (remote_port == dom->remote_port))
+               goto out;
+
        if (ring_ref != dom->ring_ref) {
                if (dom->interface != NULL)
                        munmap(dom->interface, getpagesize());
@@ -249,6 +253,7 @@ static int domain_create_ring(struct dom
        }
 
        dom->local_port = -1;
+       dom->remote_port = -1;
        if (dom->xce_handle != -1)
                xc_evtchn_close(dom->xce_handle);
 
@@ -270,6 +275,7 @@ static int domain_create_ring(struct dom
                goto out;
        }
        dom->local_port = rc;
+       dom->remote_port = remote_port;
 
        if (dom->tty_fd == -1) {
                dom->tty_fd = domain_create_tty(dom);
@@ -279,6 +285,7 @@ static int domain_create_ring(struct dom
                        xc_evtchn_close(dom->xce_handle);
                        dom->xce_handle = -1;
                        dom->local_port = -1;
+                       dom->remote_port = -1;
                        goto out;
                }
        }
@@ -336,6 +343,7 @@ static struct domain *create_domain(int 
 
        dom->ring_ref = -1;
        dom->local_port = -1;
+       dom->remote_port = -1;
        dom->interface = NULL;
        dom->xce_handle = -1;
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] Xenconsoled should ignore spurious watch event. Otherwise, it can rebind to the same evtchn of a dying domU during suspending and cause below error message:, Xen patchbot-unstable <=