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);