[ros-diffs] [pschweitzer] 34164: - Added support of PSEH - Linked Volume together using linked list - Removed useless and unclear stuff

pschweitzer at svn.reactos.org pschweitzer at svn.reactos.org
Sat Jun 28 19:48:33 CEST 2008


Author: pschweitzer
Date: Sat Jun 28 12:48:32 2008
New Revision: 34164

URL: http://svn.reactos.org/svn/reactos?rev=34164&view=rev
Log:
- Added support of PSEH
- Linked Volume together using linked list
- Removed useless and unclear stuff

Modified:
    branches/pierre-fsd/drivers/filesystems/ntfs/fsctl.c
    branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.c
    branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.h
    branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.rbuild

Modified: branches/pierre-fsd/drivers/filesystems/ntfs/fsctl.c
URL: http://svn.reactos.org/svn/reactos/branches/pierre-fsd/drivers/filesystems/ntfs/fsctl.c?rev=34164&r1=34163&r2=34164&view=diff
==============================================================================
--- branches/pierre-fsd/drivers/filesystems/ntfs/fsctl.c [iso-8859-1] (original)
+++ branches/pierre-fsd/drivers/filesystems/ntfs/fsctl.c [iso-8859-1] Sat Jun 28 12:48:32 2008
@@ -392,7 +392,7 @@
                               TAG_CCB);
   if (Ccb == NULL)
   {
-    Status =  STATUS_INSUFFICIENT_RESOURCES;
+    Status = STATUS_INSUFFICIENT_RESOURCES;
     goto ByeBye;
   }
   RtlZeroMemory(Ccb, sizeof(NTFS_CCB));
@@ -427,6 +427,10 @@
   ExInitializeResourceLite(&Vcb->DirResource);
 
   KeInitializeSpinLock(&Vcb->FcbListLock);
+
+  ExAcquireResourceExclusiveLite(&NtfsGlobalData->VolumeListLock, TRUE);
+  InsertHeadList(&NtfsGlobalData->VolumeListHead, &Vcb->VolumeListEntry);
+  ExReleaseResourceLite(&NtfsGlobalData->VolumeListLock);
 
   /* Get serial number */
   NewDeviceObject->Vpb->SerialNumber = Vcb->NtfsInfo.SerialNumber;

Modified: branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.c
URL: http://svn.reactos.org/svn/reactos/branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.c?rev=34164&r1=34163&r2=34164&view=diff
==============================================================================
--- branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.c [iso-8859-1] (original)
+++ branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.c [iso-8859-1] Sat Jun 28 12:48:32 2008
@@ -64,8 +64,6 @@
   RtlZeroMemory(NtfsGlobalData, sizeof(NTFS_GLOBAL_DATA));
   NtfsGlobalData->Identifier.Type = NTFS_TYPE_GLOBAL_DATA;
   NtfsGlobalData->Identifier.Size = sizeof(NTFS_GLOBAL_DATA);
-  
-  ExInitializeResourceLite(&NtfsGlobalData->Resource);
 
   /* Keep trace of Driver Object */
   NtfsGlobalData->DriverObject = DriverObject;
@@ -97,6 +95,9 @@
   
   NtfsGlobalData->DeviceObject->Flags |= DO_DIRECT_IO;
 
+  ExInitializeResourceLite(&NtfsGlobalData->VolumeListLock);
+  InitializeListHead(&NtfsGlobalData->VolumeListHead);
+
   /* Register file system */
   IoRegisterFileSystem(NtfsGlobalData->DeviceObject);
   ObReferenceObject(NtfsGlobalData->DeviceObject);
@@ -106,7 +107,6 @@
   {
     if (NtfsGlobalData)
     {
-      ExDeleteResourceLite(&NtfsGlobalData->Resource);
       ExFreePoolWithTag(NtfsGlobalData, TAG('N', 'D', 'R', 'G'));
     }
   }

Modified: branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.h
URL: http://svn.reactos.org/svn/reactos/branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.h?rev=34164&r1=34163&r2=34164&view=diff
==============================================================================
--- branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.h [iso-8859-1] (original)
+++ branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.h [iso-8859-1] Sat Jun 28 12:48:32 2008
@@ -5,6 +5,7 @@
 #include <ntddk.h>
 #include <ntdddisk.h>
 #include <ccros.h>
+#include <pseh/pseh.h>
 
 #define CACHEPAGESIZE(pDeviceExt) \
 	((pDeviceExt)->NtfsInfo.UCHARsPerCluster > PAGE_SIZE ? \
@@ -115,7 +116,9 @@
 
   NTFS_INFO NtfsInfo;
 
-
+  PNTFS_BCB MftBuffer;
+
+  LIST_ENTRY VolumeListEntry;
 } DEVICE_EXTENSION, *PDEVICE_EXTENSION, NTFS_VCB, *PNTFS_VCB;
 
 
@@ -173,7 +176,8 @@
 typedef struct
 {
   NTFSIDENTIFIER Identifier;
-  ERESOURCE      Resource;
+  ERESOURCE VolumeListLock;
+  LIST_ENTRY VolumeListHead;
   PDRIVER_OBJECT DriverObject;
   PDEVICE_OBJECT DeviceObject;
   CACHE_MANAGER_CALLBACKS CacheMgrCallbacks;

Modified: branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.rbuild
URL: http://svn.reactos.org/svn/reactos/branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.rbuild?rev=34164&r1=34163&r2=34164&view=diff
==============================================================================
--- branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.rbuild [iso-8859-1] (original)
+++ branches/pierre-fsd/drivers/filesystems/ntfs/ntfs.rbuild [iso-8859-1] Sat Jun 28 12:48:32 2008
@@ -5,6 +5,7 @@
 	<include base="ntfs">.</include>
 	<library>ntoskrnl</library>
 	<library>hal</library>
+	<library>pseh</library>
 	<file>attrib.c</file>
 	<file>blockdev.c</file>
 	<file>close.c</file>



More information about the Ros-diffs mailing list