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] Fix save/restore bug; further rationalization of xenbus

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Fix save/restore bug; further rationalization of xenbus state machine
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 29 Mar 2006 23:18:07 +0000
Delivery-date: Wed, 29 Mar 2006 23:19:57 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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 smh22@xxxxxxxxxxxxxxxxxxxx
# Node ID b3cb19d2b07faac10b5caf25827bd002b8ac9190
# Parent  d102a30417a786d12a933d98e7a2f1be629805c4
Fix save/restore bug; further rationalization of xenbus state machine 
logic deferred until post 3.0.2.

Signed-off-by: Steven Hand <steven@xxxxxxxxxxxxx>

diff -r d102a30417a7 -r b3cb19d2b07f 
linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c
--- a/linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c Wed Mar 29 15:50:59 2006
+++ b/linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c Wed Mar 29 17:06:27 2006
@@ -253,15 +253,20 @@
 
        switch (frontend_state) {
        case XenbusStateInitialising:
+               break;
+
+       case XenbusStateInitialised:
        case XenbusStateConnected:
-               break;
-
-       case XenbusStateInitialised:
+               /* Ensure we connect even when two watches fire in 
+                  close successsion and we miss the intermediate value 
+                  of frontend_state. */
+               if (dev->state == XenbusStateConnected)
+                       break;
+
                err = connect_ring(be);
-               if (err) {
-                       return;
-               }
-               update_blkif_status(be->blkif); 
+               if (err)
+                       break;
+               update_blkif_status(be->blkif);
                break;
 
        case XenbusStateClosing:

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Fix save/restore bug; further rationalization of xenbus state machine, Xen patchbot -unstable <=