-/* $Id: pin.c,v 1.9 2002/12/15 17:01:52 chorns Exp $
+/* $Id: pin.c,v 1.10 2003/01/11 15:22:31 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
#define ROUND_DOWN(N, S) ((N) - ((N) % (S)))
-/* FUNCTIONS *****************************************************************/
+extern NPAGED_LOOKASIDE_LIST iBcbLookasideList;
-typedef struct _INTERNAL_BCB
-{
- PUBLIC_BCB PFCB;
- PCACHE_SEGMENT CacheSegment;
- BOOLEAN Dirty;
-} INTERNAL_BCB, *PINTERNAL_BCB;
+/* FUNCTIONS *****************************************************************/
BOOLEAN STDCALL
CcMapData (IN PFILE_OBJECT FileObject,
}
}
*pBuffer += ReadOffset % Bcb->CacheSegmentSize;
- iBcb = ExAllocatePool (NonPagedPool, sizeof(INTERNAL_BCB));
+ iBcb = ExAllocateFromNPagedLookasideList(&iBcbLookasideList);
if (iBcb == NULL)
{
CcRosReleaseCacheSegment(Bcb, CacheSeg, TRUE, FALSE, FALSE);
return FALSE;
}
+ memset(iBcb, 0, sizeof(INTERNAL_BCB));
iBcb->CacheSegment = CacheSeg;
iBcb->Dirty = FALSE;
iBcb->PFCB.MappedLength = Length;
PINTERNAL_BCB iBcb = Bcb;
CcRosReleaseCacheSegment(iBcb->CacheSegment->Bcb, iBcb->CacheSegment, TRUE,
iBcb->Dirty, FALSE);
- ExFreePool(iBcb);
+ ExFreeToNPagedLookasideList(&iBcbLookasideList, iBcb);
}
VOID STDCALL
IN PLARGE_INTEGER Lsn)
{
PINTERNAL_BCB iBcb = Bcb;
-#if 0
iBcb->Dirty = TRUE;
-#else
- WriteCacheSegment(iBcb->CacheSegment);
-#endif
}