Author: ion
Date: Sun Jul 2 08:33:45 2006
New Revision: 22759
URL:
http://svn.reactos.org/svn/reactos?rev=22759&view=rev
Log:
- Fix the hack in the previous commit which broke FS support.
Modified:
trunk/reactos/ntoskrnl/io/iomgr/volume.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/volume.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/volume.c…
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/volume.c (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/volume.c Sun Jul 2 08:33:45 2006
@@ -327,12 +327,12 @@
PLIST_ENTRY FsList, ListEntry;
PDEVICE_OBJECT DevObject;
PDEVICE_OBJECT FileSystemDeviceObject;
+ LIST_ENTRY LocalList;
ASSERT_IRQL(PASSIVE_LEVEL);
KeEnterCriticalRegion();
ExAcquireResourceSharedLite(&FileSystemListLock,TRUE);
- restart:
/* For a mount operation, this can only be a Disk, CD-ROM or tape */
if ((DeviceObject->DeviceType == FILE_DEVICE_DISK) ||
(DeviceObject->DeviceType == FILE_DEVICE_VIRTUAL_DISK))
@@ -378,7 +378,10 @@
ExReleaseResourceLite(&FileSystemListLock);
IopLoadFileSystem(DevObject);
ExAcquireResourceSharedLite(&FileSystemListLock,TRUE);
- goto restart;
+ /* We need to setup a local list to pickup where we left */
+ LocalList.Flink = FsList->Flink;
+ ListEntry = &LocalList;
+ break;
case STATUS_SUCCESS:
DeviceObject->Vpb->Flags = DeviceObject->Vpb->Flags |
@@ -392,6 +395,8 @@
/* do nothing */
break;
}
+
+ ListEntry = ListEntry->Flink;
}
ExReleaseResourceLite(&FileSystemListLock);