From: short <> Date: Wed, 13 Aug 2003 09:03:03 +0000 (+0000) Subject: +Trace dumps compatible with TraceFS. X-Git-Tag: bp_captive~75 X-Git-Url: http://git.jankratochvil.net/?p=captive.git;a=commitdiff_plain;h=b27987092c10ca1bbe5fe219efcaa292887c8681 +Trace dumps compatible with TraceFS. CcFlushCache(): 'SharedCacheMap' is optional for 'FileObject'. --- diff --git a/src/libcaptive/cc/cache.c b/src/libcaptive/cc/cache.c index 9f3fd9e..0bb9afd 100644 --- a/src/libcaptive/cc/cache.c +++ b/src/libcaptive/cc/cache.c @@ -47,6 +47,14 @@ BOOLEAN CcPurgeCacheSection(IN PSECTION_OBJECT_POINTERS SectionObjectPointer, IN PLARGE_INTEGER FileOffset OPTIONAL,IN ULONG Length,IN BOOLEAN UninitializeCacheMaps) { CaptiveSharedCacheMapObject *SharedCacheMap; +BOOLEAN r; + + g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"enter: CcPurgeCacheSection: SectionObjectPointer=0x%lX,->SharedCacheMap=0x%lX,FileOffset=0x%lX,Length=0x%lX," + "UninitializeCacheMaps=%d", + (long)SectionObjectPointer, + (!SectionObjectPointer ? -1 : (long)SectionObjectPointer->SharedCacheMap), + (!FileOffset ? -1 : (long)FileOffset->QuadPart),Length, + UninitializeCacheMaps); g_return_val_if_fail(SectionObjectPointer!=NULL,FALSE); g_return_val_if_fail(FileOffset==NULL,FALSE); /* NOT IMPLEMENTED YET */ @@ -56,7 +64,11 @@ CaptiveSharedCacheMapObject *SharedCacheMap; captive_shared_cache_map_purge(SharedCacheMap); - return TRUE; + r=TRUE; + + g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"leave: CcPurgeCacheSection: r=%d",r); + + return r; } @@ -85,25 +97,45 @@ VOID CcFlushCache(IN PSECTION_OBJECT_POINTERS SectionObjectPointer, CaptiveSharedCacheMapObject *SharedCacheMap; guint64 flushed; + g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"enter: CcFlushCache: SectionObjectPointer=0x%lX,->SharedCacheMap=0x%lX,FileOffset=0x%lX,Length=0x%lX", + (long)SectionObjectPointer, + (!SectionObjectPointer ? -1 : (long)SectionObjectPointer->SharedCacheMap), + (!FileOffset ? -1 : (long)FileOffset->QuadPart),Length); + g_return_if_fail(SectionObjectPointer!=NULL); - SharedCacheMap=captive_SectionObjectPointers_to_SharedCacheMap(SectionObjectPointer); + if (SectionObjectPointer->SharedCacheMap) { + SharedCacheMap=captive_SectionObjectPointers_to_SharedCacheMap(SectionObjectPointer); - if (FileOffset) - flushed=captive_shared_cache_map_flush(SharedCacheMap,FileOffset->QuadPart,FileOffset->QuadPart+Length); + if (FileOffset) + flushed=captive_shared_cache_map_flush(SharedCacheMap,FileOffset->QuadPart,FileOffset->QuadPart+Length); + else + flushed=captive_shared_cache_map_flush(SharedCacheMap,0,G_MAXUINT64-1); /* '-1' for overflow safety */ + } else - flushed=captive_shared_cache_map_flush(SharedCacheMap,0,G_MAXUINT64-1); /* '-1' for overflow safety */ + flushed=0; if (IoStatus) { IoStatus->Status=STATUS_SUCCESS; IoStatus->Information=flushed; } + + g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"leave: CcFlushCache: IoStatus->Status=0x%lX,IoStatus->Information=0x%lX", + (!IoStatus ? -1 : (long)IoStatus->Status),(!IoStatus ? -1 : (long)IoStatus->Information)); } BOOLEAN CcIsThereDirtyData(IN PVPB Vpb) { +BOOLEAN r; + + g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"enter: CcIsThereDirtyData: Vpb=0x%lX",(long)Vpb); + g_return_val_if_fail(Vpb!=NULL,FALSE); /* We have just one volume mounted anyway. */ - return captive_shared_cache_map_is_any_dirty(); + r=captive_shared_cache_map_is_any_dirty(); + + g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"leave: CcIsThereDirtyData: r=%d",r); + + return r; }