mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 06:36:42 +00:00
[NTOSKRNL] Translate pinning flags to mapping flags when first mapping a file
This commit is contained in:
parent
0e41230dac
commit
f3b9beeb39
1 changed files with 8 additions and 1 deletions
|
@ -267,6 +267,7 @@ CcpPinData(
|
||||||
BOOLEAN Result;
|
BOOLEAN Result;
|
||||||
PROS_VACB Vacb;
|
PROS_VACB Vacb;
|
||||||
KIRQL OldIrql;
|
KIRQL OldIrql;
|
||||||
|
ULONG MapFlags;
|
||||||
|
|
||||||
KeAcquireSpinLock(&SharedCacheMap->BcbSpinLock, &OldIrql);
|
KeAcquireSpinLock(&SharedCacheMap->BcbSpinLock, &OldIrql);
|
||||||
NewBcb = CcpFindBcb(SharedCacheMap, FileOffset, Length, TRUE);
|
NewBcb = CcpFindBcb(SharedCacheMap, FileOffset, Length, TRUE);
|
||||||
|
@ -305,7 +306,13 @@ CcpPinData(
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
Result = CcpMapData(SharedCacheMap, FileOffset, Length, Flags, &Vacb, Buffer);
|
MapFlags = Flags & PIN_WAIT;
|
||||||
|
if (BooleanFlagOn(Flags, PIN_NO_READ))
|
||||||
|
{
|
||||||
|
SetFlag(MapFlags, MAP_NO_READ);
|
||||||
|
}
|
||||||
|
|
||||||
|
Result = CcpMapData(SharedCacheMap, FileOffset, Length, MapFlags, &Vacb, Buffer);
|
||||||
if (Result)
|
if (Result)
|
||||||
{
|
{
|
||||||
NewBcb = CcpGetAppropriateBcb(SharedCacheMap, Vacb, FileOffset, Length, Flags, TRUE);
|
NewBcb = CcpGetAppropriateBcb(SharedCacheMap, Vacb, FileOffset, Length, Flags, TRUE);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue