+Trace dumps compatible with TraceFS.
[captive.git] / src / libcaptive / cc / init.c
index a15060f..0e45c24 100644 (file)
 VOID CcInitializeCacheMap(IN PFILE_OBJECT FileObject,
                IN PCC_FILE_SIZES FileSizes,IN BOOLEAN PinAccess,IN PCACHE_MANAGER_CALLBACKS CallBacks,IN PVOID LazyWriterContext)
 {
+       g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"enter: CcInitializeCacheMap: FileObject=0x%lX,"
+                                       "FileSizes,->AllocationSize=0x%lX,->FileSize=0x%lX,->ValidDataLength=0x%lX,"
+                                       "PinAccess=%d,Callbacks,LazyWriteContext",
+                       (long)FileObject,
+                                       (!FileSizes ? -1 : (long)FileSizes->AllocationSize.QuadPart),
+                                       (!FileSizes ? -1 : (long)FileSizes->FileSize.QuadPart),
+                                       (!FileSizes ? -1 : (long)FileSizes->ValidDataLength.QuadPart),
+                                       PinAccess);
+
        g_return_if_fail(FileObject!=NULL);
        g_return_if_fail(FileSizes!=NULL);
        g_return_if_fail(CallBacks!=NULL);
 
-       g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"%s: FileObject=%p,"
-                       "FileSizes->AllocationSize=0x%llX,FileSizes->FileSize=0x%llX,FileSizes->ValidDataLength=0x%llX,"
-                       "PinAccess=%d,CallBacks=%p,LazyWriterContext=%p",G_STRLOC,
-                       FileObject,(guint64)FileSizes->AllocationSize.QuadPart,(guint64)FileSizes->FileSize.QuadPart,
-                       (guint64)FileSizes->ValidDataLength.QuadPart,(gint)PinAccess,CallBacks,LazyWriterContext);
-
        /* VERIFIED: CcInitializeCacheMap() has already 'SectionObjectPointers' allocated. */
        g_return_if_fail(FileObject->SectionObjectPointers!=NULL);
 
        captive_shared_cache_map_get_ref(FileObject,FileSizes,PinAccess,CallBacks,LazyWriterContext);
+
+       g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"leave: CcInitializeCacheMap");
 }
 
 
@@ -88,28 +93,34 @@ BOOLEAN CcUninitializeCacheMap(IN PFILE_OBJECT FileObject,
                IN PLARGE_INTEGER TruncateSize OPTIONAL,IN PCACHE_UNINITIALIZE_EVENT UninitializeCompleteEvent OPTIONAL)
 {
 CaptiveSharedCacheMapObject *SharedCacheMap;
+BOOLEAN r;
+
+       g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"enter: CcUninitializeCacheMap: FileObject=0x%lX,TruncateSize=0x%lX,UninitializeCompleteEvent=0x%lX",
+                       (long)FileObject,(!TruncateSize ? -1 : (long)TruncateSize->QuadPart),(long)UninitializeCompleteEvent);
 
        g_return_val_if_fail(FileObject!=NULL,FALSE);
        /* assert current size ==*TruncateSize if TruncateSize */
 
-       g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"%s: FileObject=%p,TruncateSize=0x%llX,UninitializeCompleteEvent=%p",
-                       G_STRLOC,FileObject,(guint64)(!TruncateSize ? -1 : TruncateSize->QuadPart),UninitializeCompleteEvent);
-
        if (FileObject->SectionObjectPointers && !FileObject->SectionObjectPointers->SharedCacheMap)
-               return FALSE;
+               r=FALSE;
+       else {
+               SharedCacheMap=captive_FileObject_to_SharedCacheMap(FileObject);
 
-       SharedCacheMap=captive_FileObject_to_SharedCacheMap(FileObject);
+               captive_shared_cache_map_w32_unref(SharedCacheMap);
+
+               /* FIXME: should we do KePulseEvent? Are we allowed to signal from inside CcUninitializeCacheMap() ? */
+               if (UninitializeCompleteEvent)
+                       KeSetEvent(
+                                       &UninitializeCompleteEvent->Event,      /* Event */
+                                       IO_NO_INCREMENT,        /* Increment */
+                                       FALSE); /* Wait */
 
-       captive_shared_cache_map_w32_unref(SharedCacheMap);
+               r=(FileObject->SectionObjectPointers->SharedCacheMap==NULL);
+               }
 
-       /* FIXME: should we do KePulseEvent? Are we allowed to signal from inside CcUninitializeCacheMap() ? */
-       if (UninitializeCompleteEvent)
-               KeSetEvent(
-                               &UninitializeCompleteEvent->Event,      /* Event */
-                               IO_NO_INCREMENT,        /* Increment */
-                               FALSE); /* Wait */
+       g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"leave: CcUninitializeCacheMap: r=%d",r);
 
-       return (FileObject->SectionObjectPointers->SharedCacheMap==NULL);
+       return r;
 }
 
 
@@ -130,15 +141,19 @@ VOID CcSetFileSizes(IN PFILE_OBJECT FileObject,IN PCC_FILE_SIZES FileSizes)
 {
 CaptiveSharedCacheMapObject *SharedCacheMap;
 
+       g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"enter: CcSetFileSizes: FileObject=0x%lX,"
+                                       "FileSizes,->AllocationSize=0x%lX,->FileSize=0x%lX,->ValidDataLength=0x%lX",
+                       (long)FileObject,
+                                       (!FileSizes ? -1 : (long)FileSizes->AllocationSize.QuadPart),
+                                       (!FileSizes ? -1 : (long)FileSizes->FileSize.QuadPart),
+                                       (!FileSizes ? -1 : (long)FileSizes->ValidDataLength.QuadPart));
+
        g_return_if_fail(FileObject!=NULL);
        g_return_if_fail(FileSizes!=NULL);
 
-       g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"%s: FileObject=%p,"
-                       "FileSizes->AllocationSize=0x%llX,FileSizes->FileSize=0x%llX,FileSizes->ValidDataLength=0x%llX",G_STRLOC,
-                       FileObject,(guint64)FileSizes->AllocationSize.QuadPart,(guint64)FileSizes->FileSize.QuadPart,
-                       (guint64)FileSizes->ValidDataLength.QuadPart);
-
        SharedCacheMap=captive_FileObject_to_SharedCacheMap(FileObject);
 
        captive_shared_cache_map_FileSizes_set(SharedCacheMap,FileSizes);
+
+       g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"leave: CcSetFileSizes");
 }