[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Fix save/restore bug; further rationalization of xenbus state machine



# 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.