|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-changelog
[Xen-changelog] Fix save/restore bug;	further rationalization of xenbus  
| # 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 <=
 |  |  | 
  
    |  |  |