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

[win-pv-devel] [PATCH 2/2] Add missing unplug request



If a new target is enumerated during a device relations query then no
request is made for unplug, or reboot. This patch adds the necessary code
to rectify this issue.

Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
---
 src/xenvbd/fdo.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/xenvbd/fdo.c b/src/xenvbd/fdo.c
index 3a569f3..8d5231f 100644
--- a/src/xenvbd/fdo.c
+++ b/src/xenvbd/fdo.c
@@ -1680,6 +1680,21 @@ FdoDispatchPnp(
 
             if (NeedInvalidate)
                 FdoLogTargets("QUERY_RELATIONS", Fdo);
+
+            if (NeedReboot) {
+                PXENBUS_UNPLUG_INTERFACE    Unplug;
+
+                Unplug = FdoAcquireUnplug(Fdo);
+                ASSERT(Unplug != NULL);
+
+                XENBUS_UNPLUG(Request,
+                              Unplug,
+                              XENBUS_UNPLUG_DEVICE_TYPE_DISKS,
+                              TRUE);
+                XENBUS_UNPLUG(Release, Unplug);
+
+                __FdoNotifyInstaller(Fdo);
+            }
         }
         FdoDereference(Fdo);
         break;
-- 
2.1.1


_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel


 


Rackspace

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