[ros-diffs] [arty] 35858: Don't actually need all spew anymore. Keep a reference to the associated file object. MmGetDeviceObjectForFile was way more complicated than it needed to be, due to my wrong understanding of IoGetRelatedDeviceObject. VFAT read is now working.
arty at svn.reactos.org
arty at svn.reactos.org
Mon Sep 1 16:27:01 CEST 2008
Author: arty
Date: Mon Sep 1 09:27:00 2008
New Revision: 35858
URL: http://svn.reactos.org/svn/reactos?rev=35858&view=rev
Log:
Don't actually need all spew anymore.
Keep a reference to the associated file object.
MmGetDeviceObjectForFile was way more complicated than it needed to be, due
to my wrong understanding of IoGetRelatedDeviceObject.
VFAT read is now working.
Modified:
branches/arty-newcc/ntoskrnl/cache/fssup.c
branches/arty-newcc/ntoskrnl/cache/pinsup.c
branches/arty-newcc/ntoskrnl/mm/section.c
Modified: branches/arty-newcc/ntoskrnl/cache/fssup.c
URL: http://svn.reactos.org/svn/reactos/branches/arty-newcc/ntoskrnl/cache/fssup.c?rev=35858&r1=35857&r2=35858&view=diff
==============================================================================
--- branches/arty-newcc/ntoskrnl/cache/fssup.c [iso-8859-1] (original)
+++ branches/arty-newcc/ntoskrnl/cache/fssup.c [iso-8859-1] Mon Sep 1 09:27:00 2008
@@ -115,10 +115,10 @@
PNOCC_CACHE_MAP Map = ExAllocatePool(NonPagedPool, sizeof(NOCC_CACHE_MAP));
FileObject->SectionObjectPointer->SharedCacheMap = Map;
Map->RefCount = 1;
+ ObReferenceObject(FileObject);
Map->FileObject = FileObject;
Map->NumberOfMaps = 0;
Map->FileSizes = *FileSizes;
- ASSERT(Map->FileSizes.ValidDataLength.HighPart != 0xcccccccc);
DPRINT("FileSizes->ValidDataLength %x\n", FileSizes->ValidDataLength.LowPart);
InitializeListHead(&Map->AssociatedBcb);
}
@@ -175,6 +175,8 @@
}
}
+ ObDereferenceObject(Map->FileObject);
+
ExFreePool(Map);
/* Clear the cache map */
Modified: branches/arty-newcc/ntoskrnl/cache/pinsup.c
URL: http://svn.reactos.org/svn/reactos/branches/arty-newcc/ntoskrnl/cache/pinsup.c?rev=35858&r1=35857&r2=35858&view=diff
==============================================================================
--- branches/arty-newcc/ntoskrnl/cache/pinsup.c [iso-8859-1] (original)
+++ branches/arty-newcc/ntoskrnl/cache/pinsup.c [iso-8859-1] Mon Sep 1 09:27:00 2008
@@ -10,7 +10,7 @@
/* INCLUDES *******************************************************************/
#include <ntoskrnl.h>
-//#define NDEBUG
+#define NDEBUG
#include <debug.h>
/* GLOBALS ********************************************************************/
Modified: branches/arty-newcc/ntoskrnl/mm/section.c
URL: http://svn.reactos.org/svn/reactos/branches/arty-newcc/ntoskrnl/mm/section.c?rev=35858&r1=35857&r2=35858&view=diff
==============================================================================
--- branches/arty-newcc/ntoskrnl/mm/section.c [iso-8859-1] (original)
+++ branches/arty-newcc/ntoskrnl/mm/section.c [iso-8859-1] Mon Sep 1 09:27:00 2008
@@ -45,7 +45,7 @@
/* INCLUDES *****************************************************************/
#include <ntoskrnl.h>
-//#define NDEBUG
+#define NDEBUG
#include <internal/debug.h>
#include <reactos/exeformat.h>
@@ -98,15 +98,7 @@
NTAPI
MmGetDeviceObjectForFile(IN PFILE_OBJECT FileObject)
{
- if (FileObject->Flags & (FO_DIRECT_DEVICE_OPEN | FO_STREAM_FILE))
- {
- /* Get the device object */
- return IoGetAttachedDevice(FileObject->DeviceObject);
- }
- else
- {
- return IoGetRelatedDeviceObject(FileObject);
- }
+ return IoGetRelatedDeviceObject(FileObject);
}
PFILE_OBJECT
More information about the Ros-diffs
mailing list