diff --git a/ntoskrnl/config/cmdata.c b/ntoskrnl/config/cmdata.c index e428377a6fc74..47f166f56c2e0 100644 --- a/ntoskrnl/config/cmdata.c +++ b/ntoskrnl/config/cmdata.c @@ -675,6 +675,27 @@ DATA_SEG("INITDATA") CM_SYSTEM_CONTROL_VECTOR CmControlVector[] = NULL, NULL }, + { + L"Session Manager\\Configuration Manager", + L"RegistryLazyFlushInterval", + &CmpLazyFlushIntervalInSeconds, + NULL, + NULL + }, + { + L"Session Manager\\Configuration Manager", + L"RegistryLazyFlushHiveCount", + &CmpLazyFlushHiveCount, + NULL, + NULL + }, + { + L"Session Manager\\Configuration Manager", + L"DelayCloseSize", + &CmpDelayedCloseSize, + NULL, + NULL + }, { L"Session Manager\\Configuration Manager", L"VolatileBoot", diff --git a/ntoskrnl/config/cmlazy.c b/ntoskrnl/config/cmlazy.c index ebac8a205324a..201f719a3a420 100644 --- a/ntoskrnl/config/cmlazy.c +++ b/ntoskrnl/config/cmlazy.c @@ -22,7 +22,7 @@ BOOLEAN CmpLazyFlushPending; BOOLEAN CmpForceForceFlush; BOOLEAN CmpHoldLazyFlush = TRUE; ULONG CmpLazyFlushIntervalInSeconds = 5; -static ULONG CmpLazyFlushHiveCount = 7; +ULONG CmpLazyFlushHiveCount = 7; ULONG CmpLazyFlushCount = 1; LONG CmpFlushStarveWriters; @@ -60,7 +60,7 @@ CmpDoFlushNextHive(_In_ BOOLEAN ForceFlush, if (!(CmHive->Hive.HiveFlags & HIVE_NOLAZYFLUSH) && (CmHive->FlushCount != CmpLazyFlushCount)) { - /* Great sucess! */ + /* Great success! */ Result = TRUE; /* One less to flush */ @@ -80,7 +80,7 @@ CmpDoFlushNextHive(_In_ BOOLEAN ForceFlush, DPRINT("Flushing: %wZ\n", &CmHive->FileFullPath); DPRINT("Handle: %p\n", CmHive->FileHandles[HFILE_TYPE_PRIMARY]); Status = HvSyncHive(&CmHive->Hive); - if(!NT_SUCCESS(Status)) + if (!NT_SUCCESS(Status)) { /* Let them know we failed */ DPRINT1("Failed to flush %wZ on handle %p (status 0x%08lx)\n", diff --git a/ntoskrnl/include/internal/cm.h b/ntoskrnl/include/internal/cm.h index 02d8b9e177c70..7aed5fef6e454 100644 --- a/ntoskrnl/include/internal/cm.h +++ b/ntoskrnl/include/internal/cm.h @@ -1460,7 +1460,7 @@ extern HANDLE CmpRegistryRootHandle; extern BOOLEAN ExpInTextModeSetup; extern BOOLEAN InitIsWinPEMode; extern ULONG CmpHashTableSize; -extern ULONG CmpDelayedCloseSize, CmpDelayedCloseIndex; +extern ULONG CmpDelayedCloseSize; extern BOOLEAN CmpNoWrite; extern BOOLEAN CmpForceForceFlush; extern BOOLEAN CmpWasSetupBoot; @@ -1468,6 +1468,8 @@ extern BOOLEAN CmpProfileLoaded; extern PCMHIVE CmiVolatileHive; extern LIST_ENTRY CmiKeyObjectListHead; extern BOOLEAN CmpHoldLazyFlush; +extern ULONG CmpLazyFlushIntervalInSeconds; +extern ULONG CmpLazyFlushHiveCount; extern BOOLEAN HvShutdownComplete; //