mirror of
https://github.com/reactos/reactos.git
synced 2024-09-29 22:16:01 +00:00
[NTOS:CC] Fix Vacb size usage & check
This commit is contained in:
parent
c74cbf0c0b
commit
70c62aa2c9
|
@ -388,7 +388,6 @@ CcRosMarkDirtyVacb (
|
||||||
{
|
{
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
PROS_SHARED_CACHE_MAP SharedCacheMap;
|
PROS_SHARED_CACHE_MAP SharedCacheMap;
|
||||||
ULONG Length = VACB_MAPPING_GRANULARITY;
|
|
||||||
|
|
||||||
SharedCacheMap = Vacb->SharedCacheMap;
|
SharedCacheMap = Vacb->SharedCacheMap;
|
||||||
|
|
||||||
|
@ -398,12 +397,9 @@ CcRosMarkDirtyVacb (
|
||||||
ASSERT(!Vacb->Dirty);
|
ASSERT(!Vacb->Dirty);
|
||||||
|
|
||||||
InsertTailList(&DirtyVacbListHead, &Vacb->DirtyVacbListEntry);
|
InsertTailList(&DirtyVacbListHead, &Vacb->DirtyVacbListEntry);
|
||||||
#if 0
|
/* FIXME: There is no reason to account for the whole VACB. */
|
||||||
if (Vacb->FileOffset.QuadPart + Length > SharedCacheMap->SectionSize.QuadPart)
|
CcTotalDirtyPages += VACB_MAPPING_GRANULARITY / PAGE_SIZE;
|
||||||
Length = SharedCacheMap->SectionSize.QuadPart - Vacb->FileOffset.QuadPart;
|
Vacb->SharedCacheMap->DirtyPages += VACB_MAPPING_GRANULARITY / PAGE_SIZE;
|
||||||
#endif
|
|
||||||
CcTotalDirtyPages += PAGE_ROUND_UP(Length) / PAGE_SIZE;
|
|
||||||
Vacb->SharedCacheMap->DirtyPages += PAGE_ROUND_UP(Length) / PAGE_SIZE;
|
|
||||||
CcRosVacbIncRefCount(Vacb);
|
CcRosVacbIncRefCount(Vacb);
|
||||||
|
|
||||||
/* Move to the tail of the LRU list */
|
/* Move to the tail of the LRU list */
|
||||||
|
@ -430,7 +426,6 @@ CcRosUnmarkDirtyVacb (
|
||||||
{
|
{
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
PROS_SHARED_CACHE_MAP SharedCacheMap;
|
PROS_SHARED_CACHE_MAP SharedCacheMap;
|
||||||
ULONG Length = VACB_MAPPING_GRANULARITY;
|
|
||||||
|
|
||||||
SharedCacheMap = Vacb->SharedCacheMap;
|
SharedCacheMap = Vacb->SharedCacheMap;
|
||||||
|
|
||||||
|
@ -447,12 +442,8 @@ CcRosUnmarkDirtyVacb (
|
||||||
RemoveEntryList(&Vacb->DirtyVacbListEntry);
|
RemoveEntryList(&Vacb->DirtyVacbListEntry);
|
||||||
InitializeListHead(&Vacb->DirtyVacbListEntry);
|
InitializeListHead(&Vacb->DirtyVacbListEntry);
|
||||||
|
|
||||||
#if 0
|
CcTotalDirtyPages -= VACB_MAPPING_GRANULARITY / PAGE_SIZE;
|
||||||
if (Vacb->FileOffset.QuadPart + Length > SharedCacheMap->SectionSize.QuadPart)
|
Vacb->SharedCacheMap->DirtyPages -= VACB_MAPPING_GRANULARITY / PAGE_SIZE;
|
||||||
Length = SharedCacheMap->SectionSize.QuadPart - Vacb->FileOffset.QuadPart;
|
|
||||||
#endif
|
|
||||||
CcTotalDirtyPages -= PAGE_ROUND_UP(Length) / PAGE_SIZE;
|
|
||||||
Vacb->SharedCacheMap->DirtyPages -= PAGE_ROUND_UP(Length) / PAGE_SIZE;
|
|
||||||
|
|
||||||
CcRosVacbDecRefCount(Vacb);
|
CcRosVacbDecRefCount(Vacb);
|
||||||
|
|
||||||
|
@ -718,8 +709,11 @@ CcRosEnsureVacbResident(
|
||||||
|
|
||||||
ASSERT((Offset + Length) <= VACB_MAPPING_GRANULARITY);
|
ASSERT((Offset + Length) <= VACB_MAPPING_GRANULARITY);
|
||||||
|
|
||||||
if ((Vacb->FileOffset.QuadPart + Offset) > Vacb->SharedCacheMap->FileSize.QuadPart)
|
if ((Vacb->FileOffset.QuadPart + Offset) > Vacb->SharedCacheMap->SectionSize.QuadPart)
|
||||||
|
{
|
||||||
|
DPRINT1("Vacb read beyond the file size!\n");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
BaseAddress = (PVOID)((ULONG_PTR)Vacb->BaseAddress + Offset);
|
BaseAddress = (PVOID)((ULONG_PTR)Vacb->BaseAddress + Offset);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue