[NTOS:CC]
[reactos.git] / reactos / ntoskrnl / cc / pin.c
index 9b71078..26d375e 100644 (file)
@@ -40,7 +40,7 @@ CcMapData (
     PINTERNAL_BCB iBcb;
     ULONG ROffset;
 
-    DPRINT("CcMapData(FileObject 0x%p, FileOffset %I64x, Length %d, Flags %d,"
+    DPRINT("CcMapData(FileObject 0x%p, FileOffset %I64x, Length %lu, Flags 0x%lx,"
            " pBcb 0x%p, pBuffer 0x%p)\n", FileObject, FileOffset->QuadPart,
            Length, Flags, pBcb, pBuffer);
 
@@ -57,12 +57,12 @@ CcMapData (
            Bcb->AllocationSize.QuadPart,
            Bcb->FileSize.QuadPart);
 
-    if (ReadOffset % Bcb->CacheSegmentSize + Length > Bcb->CacheSegmentSize)
+    if (ReadOffset % VACB_MAPPING_GRANULARITY + Length > VACB_MAPPING_GRANULARITY)
     {
         return FALSE;
     }
 
-    ROffset = ROUND_DOWN(ReadOffset, Bcb->CacheSegmentSize);
+    ROffset = ROUND_DOWN(ReadOffset, VACB_MAPPING_GRANULARITY);
     Status = CcRosRequestCacheSegment(Bcb,
                                       ROffset,
                                       pBuffer,
@@ -88,7 +88,7 @@ CcMapData (
         }
     }
 
-    *pBuffer = (PVOID)((ULONG_PTR)(*pBuffer) + (ReadOffset % Bcb->CacheSegmentSize));
+    *pBuffer = (PVOID)((ULONG_PTR)(*pBuffer) + ReadOffset % VACB_MAPPING_GRANULARITY);
     iBcb = ExAllocateFromNPagedLookasideList(&iBcbLookasideList);
     if (iBcb == NULL)
     {
@@ -96,7 +96,7 @@ CcMapData (
         return FALSE;
     }
 
-    memset(iBcb, 0, sizeof(INTERNAL_BCB));
+    RtlZeroMemory(iBcb, sizeof(*iBcb));
     iBcb->PFCB.NodeTypeCode = 0xDE45; /* Undocumented (CAPTIVE_PUBLIC_BCB_NODETYPECODE) */
     iBcb->PFCB.NodeByteSize = sizeof(PUBLIC_BCB);
     iBcb->PFCB.MappedLength = Length;
@@ -242,6 +242,7 @@ CcUnpinRepinnedBcb (
 {
     PINTERNAL_BCB iBcb = Bcb;
 
+    IoStatus->Status = STATUS_SUCCESS;
     if (--iBcb->RefCount == 0)
     {
         IoStatus->Information = 0;
@@ -260,7 +261,7 @@ CcUnpinRepinnedBcb (
             {
                 IoStatus->Status = STATUS_SUCCESS;
             }
-            KeReleaseMutex(&iBcb->CacheSegment->Mutex, 0);
+            KeReleaseMutex(&iBcb->CacheSegment->Mutex, FALSE);
         }
         else
         {