- IoAcquire/ReleaseVpbSpinLock: Use the queued IopVpbSpinLock spinlock instead of...
authorStefan Ginsberg <stefanginsberg@gmail.com>
Thu, 11 Sep 2008 16:53:36 +0000 (16:53 +0000)
committerStefan Ginsberg <stefanginsberg@gmail.com>
Thu, 11 Sep 2008 16:53:36 +0000 (16:53 +0000)
svn path=/trunk/; revision=36139

reactos/ntoskrnl/io/iomgr/iomgr.c
reactos/ntoskrnl/io/iomgr/volume.c

index 015018e..11c223b 100644 (file)
@@ -68,7 +68,6 @@ extern LIST_ENTRY IopErrorLogListHead;
 extern LIST_ENTRY IopTimerQueueHead;
 extern KDPC IopTimerDpc;
 extern KTIMER IopTimer;
-extern KSPIN_LOCK IoVpbLock;
 extern KSPIN_LOCK IoStatisticsLock;
 extern KSPIN_LOCK DriverReinitListLock;
 extern KSPIN_LOCK DriverBootReinitListLock;
@@ -462,7 +461,6 @@ IoInitSystem(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
     InitializeListHead(&LastChanceShutdownListHead);
     InitializeListHead(&FsChangeNotifyListHead);
     InitializeListHead(&IopErrorLogListHead);
-    KeInitializeSpinLock(&IoVpbLock);
     KeInitializeSpinLock(&IoStatisticsLock);
     KeInitializeSpinLock(&DriverReinitListLock);
     KeInitializeSpinLock(&DriverBootReinitListLock);
index 56d7d06..7b47305 100644 (file)
@@ -26,7 +26,6 @@ LIST_ENTRY IopDiskFsListHead, IopNetworkFsListHead;
 LIST_ENTRY IopCdRomFsListHead, IopTapeFsListHead;
 KGUARDED_MUTEX FsChangeNotifyListLock;
 LIST_ENTRY FsChangeNotifyListHead;
-KSPIN_LOCK IoVpbLock;
 
 /* PRIVATE FUNCTIONS *********************************************************/
 
@@ -923,7 +922,7 @@ NTAPI
 IoAcquireVpbSpinLock(OUT PKIRQL Irql)
 {
     /* Simply acquire the lock */
-    KeAcquireSpinLock(&IoVpbLock, Irql);
+    *Irql = KeAcquireQueuedSpinLock(LockQueueIoVpbLock);
 }
 
 /*
@@ -934,7 +933,7 @@ NTAPI
 IoReleaseVpbSpinLock(IN KIRQL Irql)
 {
     /* Just release the lock */
-    KeReleaseSpinLock(&IoVpbLock, Irql);
+    KeReleaseQueuedSpinLock(LockQueueIoVpbLock, Irql);
 }
 
 /*