]> xenbits.xensource.com Git - people/ssmith/nc2-2.6.27.git/commitdiff
patch CA-8806-blk-dont-reconnect-on-unplug
authorSteven Smith <ssmith@weybridge.uk.xensource.com>
Tue, 30 Jun 2009 11:55:47 +0000 (12:55 +0100)
committerSteven Smith <ssmith@weybridge.uk.xensource.com>
Tue, 30 Jun 2009 11:55:47 +0000 (12:55 +0100)
drivers/xen/blkback/xenbus.c
drivers/xen/blktap/xenbus.c

index b4ae35c4fd7c2c77adad0a524f59c6073e1af548..a1ac90017b2ab08f86f565c92ba2b4f2b96d2ffd 100644 (file)
@@ -525,7 +525,7 @@ static void frontend_changed(struct xenbus_device *dev,
                /* Ensure we connect even when two watches fire in 
                   close successsion and we miss the intermediate value 
                   of frontend_state. */
-               if (dev->state != XenbusStateConnected) {
+               if (dev->state != XenbusStateConnected && dev->state != XenbusStateClosing) {
                        err = connect_ring(be);
                        if (err)
                                break;
index de7a8adf824c84d3dbcee4ed7b2662a9b3af01b3..1291d557e8823b6cc6790fc9f9b6064c555f40fb 100644 (file)
@@ -632,7 +632,7 @@ static void tap_frontend_changed(struct xenbus_device *dev,
                /* Ensure we connect even when two watches fire in 
                   close successsion and we miss the intermediate value 
                   of frontend_state. */
-               if (dev->state != XenbusStateConnected) {
+               if (dev->state != XenbusStateConnected && dev->state != XenbusStateClosing) {
                        err = connect_ring(be);
                        if (err)
                                break;