mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 17:56:00 +00:00
[NTOS:CC] Get rid of ROS_VACB:Valid
This commit is contained in:
parent
e46f1a9af3
commit
9b6240ee03
4 changed files with 17 additions and 33 deletions
|
@ -227,12 +227,12 @@ CcPerformReadAhead(
|
||||||
CurrentOffset % VACB_MAPPING_GRANULARITY, PartialLength);
|
CurrentOffset % VACB_MAPPING_GRANULARITY, PartialLength);
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
{
|
{
|
||||||
CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE, FALSE);
|
CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE);
|
||||||
DPRINT1("Failed to read data: %lx!\n", Status);
|
DPRINT1("Failed to read data: %lx!\n", Status);
|
||||||
goto Clear;
|
goto Clear;
|
||||||
}
|
}
|
||||||
|
|
||||||
CcRosReleaseVacb(SharedCacheMap, Vacb, TRUE, FALSE, FALSE);
|
CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE);
|
||||||
|
|
||||||
Length -= PartialLength;
|
Length -= PartialLength;
|
||||||
CurrentOffset += PartialLength;
|
CurrentOffset += PartialLength;
|
||||||
|
@ -254,12 +254,12 @@ CcPerformReadAhead(
|
||||||
Status = CcRosEnsureVacbResident(Vacb, TRUE, FALSE, 0, PartialLength);
|
Status = CcRosEnsureVacbResident(Vacb, TRUE, FALSE, 0, PartialLength);
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
{
|
{
|
||||||
CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE, FALSE);
|
CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE);
|
||||||
DPRINT1("Failed to read data: %lx!\n", Status);
|
DPRINT1("Failed to read data: %lx!\n", Status);
|
||||||
goto Clear;
|
goto Clear;
|
||||||
}
|
}
|
||||||
|
|
||||||
CcRosReleaseVacb(SharedCacheMap, Vacb, TRUE, FALSE, FALSE);
|
CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE);
|
||||||
|
|
||||||
Length -= PartialLength;
|
Length -= PartialLength;
|
||||||
CurrentOffset += PartialLength;
|
CurrentOffset += PartialLength;
|
||||||
|
@ -548,7 +548,7 @@ CcCopyRead (
|
||||||
}
|
}
|
||||||
_SEH2_FINALLY
|
_SEH2_FINALLY
|
||||||
{
|
{
|
||||||
CcRosReleaseVacb(SharedCacheMap, Vacb, TRUE, FALSE, FALSE);
|
CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE);
|
||||||
}
|
}
|
||||||
_SEH2_END;
|
_SEH2_END;
|
||||||
}
|
}
|
||||||
|
@ -653,7 +653,7 @@ CcCopyWrite (
|
||||||
_SEH2_FINALLY
|
_SEH2_FINALLY
|
||||||
{
|
{
|
||||||
/* Do not mark the VACB as dirty if an exception was raised */
|
/* Do not mark the VACB as dirty if an exception was raised */
|
||||||
CcRosReleaseVacb(SharedCacheMap, Vacb, TRUE, !_SEH2_AbnormalTermination(), FALSE);
|
CcRosReleaseVacb(SharedCacheMap, Vacb, !_SEH2_AbnormalTermination(), FALSE);
|
||||||
}
|
}
|
||||||
_SEH2_END;
|
_SEH2_END;
|
||||||
}
|
}
|
||||||
|
@ -905,7 +905,7 @@ CcZeroData (
|
||||||
_SEH2_FINALLY
|
_SEH2_FINALLY
|
||||||
{
|
{
|
||||||
/* Do not mark the VACB as dirty if an exception was raised */
|
/* Do not mark the VACB as dirty if an exception was raised */
|
||||||
CcRosReleaseVacb(SharedCacheMap, Vacb, TRUE, !_SEH2_AbnormalTermination(), FALSE);
|
CcRosReleaseVacb(SharedCacheMap, Vacb, !_SEH2_AbnormalTermination(), FALSE);
|
||||||
}
|
}
|
||||||
_SEH2_END;
|
_SEH2_END;
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,7 +91,6 @@ CcpDereferenceBcb(
|
||||||
*/
|
*/
|
||||||
CcRosReleaseVacb(SharedCacheMap,
|
CcRosReleaseVacb(SharedCacheMap,
|
||||||
Bcb->Vacb,
|
Bcb->Vacb,
|
||||||
TRUE,
|
|
||||||
FALSE,
|
FALSE,
|
||||||
FALSE);
|
FALSE);
|
||||||
|
|
||||||
|
@ -121,7 +120,7 @@ CcpGetAppropriateBcb(
|
||||||
iBcb = ExAllocateFromNPagedLookasideList(&iBcbLookasideList);
|
iBcb = ExAllocateFromNPagedLookasideList(&iBcbLookasideList);
|
||||||
if (iBcb == NULL)
|
if (iBcb == NULL)
|
||||||
{
|
{
|
||||||
CcRosReleaseVacb(SharedCacheMap, Vacb, TRUE, FALSE, FALSE);
|
CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,7 +171,7 @@ CcpGetAppropriateBcb(
|
||||||
if (DupBcb != NULL)
|
if (DupBcb != NULL)
|
||||||
{
|
{
|
||||||
/* Delete the loser */
|
/* Delete the loser */
|
||||||
CcRosReleaseVacb(SharedCacheMap, Vacb, TRUE, FALSE, FALSE);
|
CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE);
|
||||||
ExDeleteResourceLite(&iBcb->Lock);
|
ExDeleteResourceLite(&iBcb->Lock);
|
||||||
ExFreeToNPagedLookasideList(&iBcbLookasideList, iBcb);
|
ExFreeToNPagedLookasideList(&iBcbLookasideList, iBcb);
|
||||||
}
|
}
|
||||||
|
@ -282,7 +281,7 @@ CcpPinData(
|
||||||
NewBcb = CcpGetAppropriateBcb(SharedCacheMap, Vacb, FileOffset, Length, Flags, TRUE);
|
NewBcb = CcpGetAppropriateBcb(SharedCacheMap, Vacb, FileOffset, Length, Flags, TRUE);
|
||||||
if (NewBcb == NULL)
|
if (NewBcb == NULL)
|
||||||
{
|
{
|
||||||
CcRosReleaseVacb(SharedCacheMap, Vacb, TRUE, FALSE, FALSE);
|
CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -383,7 +382,7 @@ CcMapData (
|
||||||
iBcb = CcpGetAppropriateBcb(SharedCacheMap, Vacb, FileOffset, Length, 0, FALSE);
|
iBcb = CcpGetAppropriateBcb(SharedCacheMap, Vacb, FileOffset, Length, 0, FALSE);
|
||||||
if (iBcb == NULL)
|
if (iBcb == NULL)
|
||||||
{
|
{
|
||||||
CcRosReleaseVacb(SharedCacheMap, Vacb, TRUE, FALSE, FALSE);
|
CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE);
|
||||||
CCTRACE(CC_API_DEBUG, "FileObject=%p FileOffset=%p Length=%lu Flags=0x%lx -> FALSE\n",
|
CCTRACE(CC_API_DEBUG, "FileObject=%p FileOffset=%p Length=%lu Flags=0x%lx -> FALSE\n",
|
||||||
SharedCacheMap->FileObject, FileOffset, Length, Flags);
|
SharedCacheMap->FileObject, FileOffset, Length, Flags);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -660,7 +659,6 @@ CcUnpinRepinnedBcb (
|
||||||
*/
|
*/
|
||||||
CcRosReleaseVacb(iBcb->Vacb->SharedCacheMap,
|
CcRosReleaseVacb(iBcb->Vacb->SharedCacheMap,
|
||||||
iBcb->Vacb,
|
iBcb->Vacb,
|
||||||
TRUE,
|
|
||||||
FALSE,
|
FALSE,
|
||||||
FALSE);
|
FALSE);
|
||||||
|
|
||||||
|
|
|
@ -342,17 +342,13 @@ NTAPI
|
||||||
CcRosReleaseVacb (
|
CcRosReleaseVacb (
|
||||||
PROS_SHARED_CACHE_MAP SharedCacheMap,
|
PROS_SHARED_CACHE_MAP SharedCacheMap,
|
||||||
PROS_VACB Vacb,
|
PROS_VACB Vacb,
|
||||||
BOOLEAN Valid,
|
|
||||||
BOOLEAN Dirty,
|
BOOLEAN Dirty,
|
||||||
BOOLEAN Mapped)
|
BOOLEAN Mapped)
|
||||||
{
|
{
|
||||||
ULONG Refs;
|
ULONG Refs;
|
||||||
ASSERT(SharedCacheMap);
|
ASSERT(SharedCacheMap);
|
||||||
|
|
||||||
DPRINT("CcRosReleaseVacb(SharedCacheMap 0x%p, Vacb 0x%p, Valid %u)\n",
|
DPRINT("CcRosReleaseVacb(SharedCacheMap 0x%p, Vacb 0x%p)\n", SharedCacheMap, Vacb);
|
||||||
SharedCacheMap, Vacb, Valid);
|
|
||||||
|
|
||||||
Vacb->Valid = Valid;
|
|
||||||
|
|
||||||
if (Dirty && !Vacb->Dirty)
|
if (Dirty && !Vacb->Dirty)
|
||||||
{
|
{
|
||||||
|
@ -595,7 +591,6 @@ CcRosCreateVacb (
|
||||||
|
|
||||||
current = ExAllocateFromNPagedLookasideList(&VacbLookasideList);
|
current = ExAllocateFromNPagedLookasideList(&VacbLookasideList);
|
||||||
current->BaseAddress = NULL;
|
current->BaseAddress = NULL;
|
||||||
current->Valid = FALSE;
|
|
||||||
current->Dirty = FALSE;
|
current->Dirty = FALSE;
|
||||||
current->PageOut = FALSE;
|
current->PageOut = FALSE;
|
||||||
current->FileOffset.QuadPart = ROUND_DOWN(FileOffset, VACB_MAPPING_GRANULARITY);
|
current->FileOffset.QuadPart = ROUND_DOWN(FileOffset, VACB_MAPPING_GRANULARITY);
|
||||||
|
@ -947,7 +942,7 @@ CcFlushCache (
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CcRosReleaseVacb(SharedCacheMap, current, current->Valid, FALSE, FALSE);
|
CcRosReleaseVacb(SharedCacheMap, current, FALSE, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
Offset.QuadPart += VACB_MAPPING_GRANULARITY;
|
Offset.QuadPart += VACB_MAPPING_GRANULARITY;
|
||||||
|
@ -1371,14 +1366,14 @@ ExpKdbgExtFileCache(ULONG Argc, PCHAR Argv[])
|
||||||
UNICODE_STRING NoName = RTL_CONSTANT_STRING(L"No name for File");
|
UNICODE_STRING NoName = RTL_CONSTANT_STRING(L"No name for File");
|
||||||
|
|
||||||
KdbpPrint(" Usage Summary (in kb)\n");
|
KdbpPrint(" Usage Summary (in kb)\n");
|
||||||
KdbpPrint("Shared\t\tValid\tDirty\tName\n");
|
KdbpPrint("Shared\t\tMapped\tDirty\tName\n");
|
||||||
/* No need to lock the spin lock here, we're in DBG */
|
/* No need to lock the spin lock here, we're in DBG */
|
||||||
for (ListEntry = CcCleanSharedCacheMapList.Flink;
|
for (ListEntry = CcCleanSharedCacheMapList.Flink;
|
||||||
ListEntry != &CcCleanSharedCacheMapList;
|
ListEntry != &CcCleanSharedCacheMapList;
|
||||||
ListEntry = ListEntry->Flink)
|
ListEntry = ListEntry->Flink)
|
||||||
{
|
{
|
||||||
PLIST_ENTRY Vacbs;
|
PLIST_ENTRY Vacbs;
|
||||||
ULONG Valid = 0, Dirty = 0;
|
ULONG Mapped = 0, Dirty = 0;
|
||||||
PROS_SHARED_CACHE_MAP SharedCacheMap;
|
PROS_SHARED_CACHE_MAP SharedCacheMap;
|
||||||
PUNICODE_STRING FileName;
|
PUNICODE_STRING FileName;
|
||||||
PWSTR Extra = L"";
|
PWSTR Extra = L"";
|
||||||
|
@ -1393,13 +1388,7 @@ ExpKdbgExtFileCache(ULONG Argc, PCHAR Argv[])
|
||||||
Vacbs != &SharedCacheMap->CacheMapVacbListHead;
|
Vacbs != &SharedCacheMap->CacheMapVacbListHead;
|
||||||
Vacbs = Vacbs->Flink)
|
Vacbs = Vacbs->Flink)
|
||||||
{
|
{
|
||||||
PROS_VACB Vacb;
|
Mapped += VACB_MAPPING_GRANULARITY / 1024;
|
||||||
|
|
||||||
Vacb = CONTAINING_RECORD(Vacbs, ROS_VACB, CacheMapVacbListEntry);
|
|
||||||
if (Vacb->Valid)
|
|
||||||
{
|
|
||||||
Valid += VACB_MAPPING_GRANULARITY / 1024;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Setup name */
|
/* Setup name */
|
||||||
|
@ -1423,7 +1412,7 @@ ExpKdbgExtFileCache(ULONG Argc, PCHAR Argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
/* And print */
|
/* And print */
|
||||||
KdbpPrint("%p\t%d\t%d\t%wZ%S\n", SharedCacheMap, Valid, Dirty, FileName, Extra);
|
KdbpPrint("%p\t%d\t%d\t%wZ%S\n", SharedCacheMap, Mapped, Dirty, FileName, Extra);
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
@ -206,8 +206,6 @@ typedef struct _ROS_VACB
|
||||||
{
|
{
|
||||||
/* Base address of the region where the view's data is mapped. */
|
/* Base address of the region where the view's data is mapped. */
|
||||||
PVOID BaseAddress;
|
PVOID BaseAddress;
|
||||||
/* Are the contents of the view valid. */
|
|
||||||
BOOLEAN Valid;
|
|
||||||
/* Are the contents of the view newer than those on disk. */
|
/* Are the contents of the view newer than those on disk. */
|
||||||
BOOLEAN Dirty;
|
BOOLEAN Dirty;
|
||||||
/* Page out in progress */
|
/* Page out in progress */
|
||||||
|
@ -387,7 +385,6 @@ NTAPI
|
||||||
CcRosReleaseVacb(
|
CcRosReleaseVacb(
|
||||||
PROS_SHARED_CACHE_MAP SharedCacheMap,
|
PROS_SHARED_CACHE_MAP SharedCacheMap,
|
||||||
PROS_VACB Vacb,
|
PROS_VACB Vacb,
|
||||||
BOOLEAN Valid,
|
|
||||||
BOOLEAN Dirty,
|
BOOLEAN Dirty,
|
||||||
BOOLEAN Mapped
|
BOOLEAN Mapped
|
||||||
);
|
);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue