From 938228918eabeb355d2d74ad89fcccf30119b5bb Mon Sep 17 00:00:00 2001 From: Stefan Ginsberg Date: Thu, 11 Sep 2008 16:53:36 +0000 Subject: [PATCH] - IoAcquire/ReleaseVpbSpinLock: Use the queued IopVpbSpinLock spinlock instead of a regular "IoVpbLock" spinlock svn path=/trunk/; revision=36139 --- reactos/ntoskrnl/io/iomgr/iomgr.c | 2 -- reactos/ntoskrnl/io/iomgr/volume.c | 5 ++--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/reactos/ntoskrnl/io/iomgr/iomgr.c b/reactos/ntoskrnl/io/iomgr/iomgr.c index 015018e38db..11c223b2a3a 100644 --- a/reactos/ntoskrnl/io/iomgr/iomgr.c +++ b/reactos/ntoskrnl/io/iomgr/iomgr.c @@ -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); diff --git a/reactos/ntoskrnl/io/iomgr/volume.c b/reactos/ntoskrnl/io/iomgr/volume.c index 56d7d06856d..7b47305e5f6 100644 --- a/reactos/ntoskrnl/io/iomgr/volume.c +++ b/reactos/ntoskrnl/io/iomgr/volume.c @@ -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); } /*