#include "cmp.h"
Go to the source code of this file.
Defines | |
#define | DumpDirtyVector(Hive) |
Functions | |
BOOLEAN | HvpWriteLog (PHHIVE Hive) |
BOOLEAN | HvpFindNextDirtyBlock (PHHIVE Hive, PRTL_BITMAP BitMap, PULONG Current, PUCHAR *Address, PULONG Length, PULONG Offset) |
VOID | HvpDiscardBins (PHHIVE Hive) |
VOID | HvpTruncateBins (PHHIVE Hive) |
VOID | HvRefreshHive (PHHIVE Hive) |
BOOLEAN | HvMarkCellDirty (PHHIVE Hive, HCELL_INDEX Cell) |
BOOLEAN | HvIsBinDirty (IN PHHIVE Hive, IN HCELL_INDEX Cell) |
BOOLEAN | HvMarkDirty (PHHIVE Hive, HCELL_INDEX Start, ULONG Length) |
BOOLEAN | HvMarkClean (PHHIVE Hive, HCELL_INDEX Start, ULONG Length) |
BOOLEAN | HvpGrowLog1 (PHHIVE Hive, ULONG Count) |
BOOLEAN | HvpGrowLog2 (PHHIVE Hive, ULONG Size) |
BOOLEAN | HvSyncHive (PHHIVE Hive) |
BOOLEAN | HvpDoWriteHive (PHHIVE Hive, ULONG FileType) |
NTSTATUS | HvWriteHive (PHHIVE Hive) |
VOID | HvpDiscardBins (IN PHHIVE Hive) |
VOID | HvpTruncateBins (IN PHHIVE Hive) |
Variables | |
BOOLEAN | HvShutdownComplete |
|
Definition at line 52 of file hivesync.c. Referenced by HvSyncHive(). |
|
Definition at line 200 of file hivesync.c. References ASSERT, Bin, _HMAP_ENTRY::BinAddress, Cell, CML_MINOR, CMLOG, CMS_IO, _HHIVE::DirtyVector, FALSE, _HBIN::FileOffset, HHIVE_SIGNATURE, Hive, HIVE_VOLATILE, _HHIVE::HiveFlags, HMAP_BASE, HSECTOR_SIZE, HvGetCellType, HvpGetCellMap(), _HHIVE::ReadOnly, _HHIVE::Signature, _HBIN::Size, TRUE, VALIDATE_CELL_MAP, and Volatile.
|
|
Definition at line 117 of file hivesync.c. References ASSERT, Bin, _HMAP_ENTRY::BinAddress, Cell, CML_MINOR, CMLOG, CMS_IO, _HHIVE::DirtyCount, _HHIVE::DirtyVector, FALSE, _HBIN::FileOffset, HBIN_SIGNATURE, HCELL_INDEX, HHIVE_SIGNATURE, Hive, HIVE_VOLATILE, _HHIVE::HiveFlags, HMAP_BASE, HvGetCellType, HvMarkDirty(), HvpGetCellMap(), HvpGetHCell, _HHIVE::ReadOnly, RtlNumberOfSetBits(), _HBIN::Signature, _HHIVE::Signature, _HCELL::Size, _HBIN::Size, Size, TRUE, USE_OLD_CELL, VALIDATE_CELL_MAP, and Volatile. Referenced by CmDeleteValueKey(), CmpAddToLeaf(), CmpAssignSecurityDescriptor(), CmpCheckKey(), CmpDoCreate(), CmpInsertSecurityCellList(), CmpMarkIndexDirty(), CmpMarkKeyDirty(), CmpMarkKeyParentDirty(), CmpMarkKeyValuesDirty(), CmpSelectLeaf(), CmpSetSecurityDescriptorInfo(), CmpSetValueKeyExisting(), CmpSetValueKeyNew(), CmpSplitLeaf(), CmSetLastWriteTimeKey(), and CmSetValueKey().
|
|
Definition at line 401 of file hivesync.c. References ASSERT, BitMap, _HHIVE::Cluster, CML_MINOR, CMLOG, CMS_IO, _HHIVE::DirtyCount, _HHIVE::DirtyVector, FALSE, HHIVE_SIGNATURE, Hive, HIVE_VOLATILE, _HHIVE::HiveFlags, HSECTOR_SIZE, HvGetCellType, _HHIVE::ReadOnly, ROUND_UP, RtlClearBits(), RtlNumberOfSetBits(), _HHIVE::Signature, Start, TRUE, and Volatile. Referenced by HvpAddBin().
|
|
Definition at line 270 of file hivesync.c. References ASSERT, BitMap, _HHIVE::Cluster, CML_MINOR, CMLOG, CmpLazyFlush(), CMS_IO, _HHIVE::DirtyCount, _HHIVE::DirtyVector, FALSE, HHIVE_SIGNATURE, Hive, HIVE_NOLAZYFLUSH, HIVE_VOLATILE, _HHIVE::HiveFlags, HSECTOR_SIZE, HvGetCellType, HvpGrowLog1(), HvpMarkBinReadWrite, _HHIVE::ReadOnly, ROUND_UP, RtlNumberOfSetBits(), RtlSetBits(), _HHIVE::Signature, Start, TRUE, and Volatile. Referenced by HvMarkCellDirty(), HvpAddBin(), and HvpRecoverData().
|
|
Definition at line 1885 of file hivesync.c. References ASSERT, ASSERT_LISTENTRY, Bin, _HMAP_ENTRY::BinAddress, ExFreePool(), _FREE_HBIN::FileOffset, _FREE_HBIN::Flags, FREE_HBIN_DISCARDABLE, Hive, HMAP_BASE, HMAP_DISCARDABLE, HvpGetCellMap(), List, Stable, and VALIDATE_CELL_MAP. Referenced by HvSyncHive().
|
|
|
|
Definition at line 775 of file hivesync.c. References ASSERT, _HHIVE::BaseBlock, Bin, BitMap, _HMAP_ENTRY::BlockAddress, _HBASE_BLOCK::CheckSum, _HHIVE::Cluster, _HBASE_BLOCK::Cluster, CML_MINOR, CMLOG, CmpDoFileSetSize(), CMS_IO, Count, CMP_OFFSET_ARRAY::DataBuffer, CMP_OFFSET_ARRAY::DataLength, _HHIVE::DirtyVector, ExAllocatePool, ExFreePool(), FALSE, _HHIVE::FileFlush, CMP_OFFSET_ARRAY::FileOffset, _HHIVE::FileWrite, _HBASE_BLOCK::Format, HBASE_BLOCK_SIGNATURE, HBASE_FORMAT_MEMORY, HBLOCK_SIZE, HFILE_TYPE_LOG, HFILE_TYPE_PRIMARY, Hive, HLOG_MINSIZE, HSECTOR_SIZE, HSYS_MAJOR, HvpFindNextDirtyBlock(), HvpGetCellMap(), HvpHeaderCheckSum(), _HBASE_BLOCK::Length, _HHIVE::Log, _HHIVE::LogSize, _HBASE_BLOCK::Major, NULL, Offset, PagedPool, PCMP_OFFSET_ARRAY, _HHIVE::ReadOnly, ROUND_UP, RtlNumberOfSetBits(), _HBASE_BLOCK::Sequence1, _HBASE_BLOCK::Sequence2, _HBASE_BLOCK::Signature, Stable, _HBASE_BLOCK::TimeStamp, _HBIN::TimeStamp, TRUE, _HBASE_BLOCK::Type, and VALIDATE_CELL_MAP. Referenced by HvInitializeHive(), HvSyncHive(), and HvWriteHive().
|
|
Definition at line 1233 of file hivesync.c. References ASSERT, _HMAP_ENTRY::BinAddress, BitMap, _HMAP_ENTRY::BlockAddress, CML_FLOW, CMLOG, CMS_IO, End, FALSE, _FREE_HBIN::FileOffset, HBIN_SIGNATURE, HBLOCK_SIZE, HCELL_INDEX, HCELL_OFFSET_MASK, Hive, HMAP_BASE, HMAP_DISCARDABLE, HSECTOR_COUNT, HSECTOR_SIZE, HvpGetCellMap(), NULL, Offset, ROUND_UP, Start, TRUE, and VALIDATE_CELL_MAP. Referenced by HvpDoWriteHive(), HvpWriteLog(), and HvRefreshHive().
|
|
Definition at line 495 of file hivesync.c. References ASSERT, _HHIVE::Cluster, CML_MINOR, CMLOG, CMS_IO, Count, _HHIVE::DirtyCount, _HHIVE::DirtyVector, FALSE, _HHIVE::FileSetSize, HFILE_TYPE_LOG, Hive, HLOG_GROW, HSECTOR_SIZE, _HHIVE::Log, _HHIVE::LogSize, _HHIVE::ReadOnly, ROUND_UP, RtlNumberOfSetBits(), and TRUE. Referenced by HvMarkDirty().
|
|
Definition at line 565 of file hivesync.c. References ASSERT, _HHIVE::Cluster, CML_MINOR, CMLOG, CMS_IO, _HHIVE::DirtyCount, _HHIVE::DirtyVector, FALSE, _HHIVE::FileSetSize, HFILE_TYPE_LOG, Hive, HLOG_GROW, HSECTOR_SIZE, _HHIVE::Log, _HHIVE::LogSize, _HHIVE::ReadOnly, ROUND_UP, RtlNumberOfSetBits(), Size, Stable, and TRUE. Referenced by HvpAddBin().
|
|
Definition at line 1946 of file hivesync.c. References _HMAP_ENTRY::BinAddress, _HMAP_ENTRY::BlockAddress, _FREE_HBIN::FileOffset, HBLOCK_SIZE, HCELL_TYPE_MASK, Hive, HMAP_DISCARDABLE, HSTORAGE_TYPE, HTYPE_COUNT, HvFreeHivePartial(), HvpGetCellMap(), and VALIDATE_CELL_MAP. Referenced by HvSyncHive().
|
|
|
|
Definition at line 1025 of file hivesync.c. References ASSERT, _HHIVE::BaseBlock, BitMap, _HBASE_BLOCK::CheckSum, _HBASE_BLOCK::Cluster, _HHIVE::Cluster, CML_MINOR, CMLOG, CMS_IO, Count, CMP_OFFSET_ARRAY::DataBuffer, CMP_OFFSET_ARRAY::DataLength, _HHIVE::DirtyVector, ExAllocatePool, ExFreePool(), FALSE, _HHIVE::FileFlush, CMP_OFFSET_ARRAY::FileOffset, _HHIVE::FileWrite, _HBASE_BLOCK::Format, HBASE_BLOCK_SIGNATURE, HBASE_FORMAT_MEMORY, HFILE_TYPE_LOG, Hive, HLOG_DV_SIGNATURE, HLOG_HEADER_SIZE, HSECTOR_SIZE, HSYS_MAJOR, HvpFindNextDirtyBlock(), HvpHeaderCheckSum(), KeQuerySystemTime(), _HBASE_BLOCK::Major, NULL, Offset, PagedPool, PCMP_OFFSET_ARRAY, _HHIVE::ReadOnly, ROUND_UP, RtlNumberOfSetBits(), _HBASE_BLOCK::Sequence1, _HBASE_BLOCK::Sequence2, _HBASE_BLOCK::Signature, _HBASE_BLOCK::TimeStamp, TRUE, and _HBASE_BLOCK::Type. Referenced by HvSyncHive().
|
|
Referenced by CmpWorker(). |
|
Definition at line 647 of file hivesync.c. References _HHIVE::Alternate, ASSERT, CML_BUGCHECK, CML_FLOW, CML_WORKER, CMLOG, CMS_IO, _HHIVE::DirtyCount, _HHIVE::DirtyVector, DumpDirtyVector, FALSE, HFILE_TYPE_ALTERNATE, HFILE_TYPE_PRIMARY, HHIVE_SIGNATURE, Hive, HIVE_VOLATILE, _HHIVE::HiveFlags, HvpDiscardBins(), HvpDoWriteHive(), HvpTruncateBins(), HvpWriteLog(), HvShutdownComplete, IoSetThreadHardErrorMode(), _HHIVE::Log, _HHIVE::ReadOnly, RtlClearAllBits(), _HHIVE::Signature, and TRUE. Referenced by CmFlushKey(), CmpDoFlushAll(), CmpInitializeHiveList(), EhCloseHive(), and EhOpenHive().
|
|
Definition at line 1433 of file hivesync.c. References _HHIVE::Allocate, ASSERT, _HHIVE::BaseBlock, _HHIVE::Cluster, CML_BUGCHECK, CML_MAJOR, CMLOG, CmpDoFileSetSize(), CmpFree(), CmpReleaseGlobalQuota(), CMS_IO, _HHIVE::DirtyVector, FALSE, _HHIVE::Free, HFILE_TYPE_EXTERNAL, HHIVE_SIGNATURE, Hive, HSECTOR_SIZE, HvpDoWriteHive(), HvShutdownComplete, NT_SUCCESS, NTSTATUS(), NULL, PAGE_SIZE, _HHIVE::ReadOnly, ROUND_UP, RtlSetAllBits(), _HHIVE::Signature, Stable, and TRUE. Referenced by CmpInitializeHiveList(), CmSaveKey(), and CmSaveMergedKeys().
|
|
Definition at line 27 of file hivesync.c. Referenced by CmpLazyFlushWorker(), CmShutdownSystem(), HvSyncHive(), and HvWriteHive(). |