|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH 1/2] Force a re-enumeration of PDOs after filter destruction
If the underlying PDO has not gone away then we need to create a fresh
filter object.
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
---
src/xendisk/fdo.c | 8 ++++++++
src/xendisk/fdo.h | 5 +++++
src/xendisk/pdo.c | 3 +++
3 files changed, 16 insertions(+)
diff --git a/src/xendisk/fdo.c b/src/xendisk/fdo.c
index 09f785f..cfa1ad3 100644
--- a/src/xendisk/fdo.c
+++ b/src/xendisk/fdo.c
@@ -165,6 +165,14 @@ __FdoGetPhysicalDeviceObject(
return Fdo->PhysicalDeviceObject;
}
+PDEVICE_OBJECT
+FdoGetPhysicalDeviceObject(
+ IN PXENDISK_FDO Fdo
+ )
+{
+ return __FdoGetPhysicalDeviceObject(Fdo);
+}
+
VOID
FdoAddPhysicalDeviceObject(
IN PXENDISK_FDO Fdo,
diff --git a/src/xendisk/fdo.h b/src/xendisk/fdo.h
index 0b30911..a6fb68b 100644
--- a/src/xendisk/fdo.h
+++ b/src/xendisk/fdo.h
@@ -59,6 +59,11 @@ FdoReleaseMutex(
IN PXENDISK_FDO Fdo
);
+extern PDEVICE_OBJECT
+FdoGetPhysicalDeviceObject(
+ IN PXENDISK_FDO Fdo
+ );
+
extern NTSTATUS
FdoDispatch(
IN PXENDISK_FDO Fdo,
diff --git a/src/xendisk/pdo.c b/src/xendisk/pdo.c
index dffb294..07f4cfd 100644
--- a/src/xendisk/pdo.c
+++ b/src/xendisk/pdo.c
@@ -1098,6 +1098,9 @@ done:
PdoDestroy(Pdo);
FdoReleaseMutex(Fdo);
+ IoInvalidateDeviceRelations(FdoGetPhysicalDeviceObject(Fdo),
+ BusRelations);
+
return status;
fail1:
--
2.1.1
_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |