#include <ntos.h>
#include <string.h>
#include <zwapi.h>
#include <lfs.h>
#include <fsrtl.h>
#include "nodetype.h"
#include "LfsDisk.h"
#include "LfsStruc.h"
#include "LfsData.h"
Go to the source code of this file.
Defines | |
#define | FsRtlAllocatePool(a, b) FsRtlAllocatePoolWithTag(a,b,' sfL') |
#define | FsRtlAllocatePoolWithQuota(a, b) FsRtlAllocatePoolWithQuotaTag(a,b,' sfL') |
#define | LfsAllocatePoolNoRaise(a, b) ExAllocatePoolWithTag((a),(b),MODULE_POOL_TAG) |
#define | LfsAllocatePool(a, b) ExAllocatePoolWithTag(((a) | POOL_RAISE_IF_ALLOCATION_FAILURE),(b),MODULE_POOL_TAG) |
#define | LfsFreePool(pv) ExFreePool(pv) |
#define | LfsPreparePinWriteData(L, FO, LEN, BUF, B) |
#define | LfsTruncateOffsetToLogPage(LFCB, LI, OUTLI) |
#define | LfsLogPageOffset(LFCB, INT) (INT & (LFCB)->LogPageMask) |
#define | LfsFileOffsetToLsn(LFCB, FO, SN) |
#define | LfsIsLsnInFile(LFCB, LSN) |
#define | LfsComputeLsnFromLbcb(LFCB, LBCB) |
#define | LfsTruncateLsnToLogPage(LFCB, LSN, FO) |
#define | LfsLsnToFileOffset(LFCB, LSN) /*xxShr*/( ((ULONGLONG)/*xxShl*/( (LSN).QuadPart << (LFCB)->SeqNumberBits )) >> ((LFCB)->SeqNumberBits - 3) ) |
#define | LfsLsnToSeqNumber(LFCB, LSN) /*xxShr*/Int64ShrlMod32( ((ULONGLONG)(LSN).QuadPart), (LFCB)->FileDataBits ) |
#define | LfsLsnToPageOffset(LFCB, LSN) LfsLogPageOffset( LFCB, (LSN).LowPart << 3 ) |
#define | LfsInitializeLcb(LCB, ID, MODE) |
#define | LfsAllocateLch(NEW) |
#define | LfsDeallocateLch(LCH) ExFreePool( LCH ) |
#define | LfsAllocateRestartArea(RS, SIZE) |
#define | LfsDeallocateRestartArea(RS) ExFreePool( RS ) |
#define | LfsLbcbIsRestart(LBCB) (FlagOn( (LBCB)->LbcbFlags, LBCB_RESTART_LBCB )) |
#define | LfsAcquireLfsData() ExAcquireFastMutex( &LfsData.LfsDataLock ) |
#define | LfsReleaseLfsData() ExReleaseFastMutex( &LfsData.LfsDataLock ) |
#define | LfsAcquireBufferLock() ExAcquireFastMutex( &LfsData.BufferLock ) |
#define | LfsReleaseBufferLock() ExReleaseFastMutex( &LfsData.BufferLock ) |
#define | LfsWaitForBufferNotification() |
#define | LfsNotifyBufferWaiters() KeSetEvent( &LfsData.BufferNotification, 0, FALSE ) |
#define | LfsBlockBufferWaiters() KeClearEvent( &LfsData.BufferNotification ) |
#define | LfsAcquireLfcb(LFCB) ExAcquireResourceExclusive( &(LFCB)->Sync->Resource, TRUE ) |
#define | LfsReleaseLfcb(LFCB) |
#define | LfsAcquireLch(LCH) ExAcquireResourceExclusive( &(LCH)->Sync->Resource, TRUE ) |
#define | LfsReleaseLch(LCH) |
#define | LfsValidateLch(LCH) |
#define | LfsValidateClientId(LFCB, LCH) |
#define | LfsVerifyClientLsnInRange(LFCB, CLIENT, LSN) |
#define | LfsClientIdMatch(CLIENT_A, CLIENT_B) |
#define | LfsValidateLcb(LCB, LCH) |
#define | FlagOn(F, SF) |
#define | BooleanFlagOn(F, SF) |
#define | SetFlag(Flags, SingleFlag) |
#define | ClearFlag(Flags, SingleFlag) |
#define | WordAlign(Ptr) |
#define | LongAlign(Ptr) |
#define | QuadAlign(Ptr) |
#define | LiQuadAlign(LI, OUT) |
#define | Add2Ptr(PTR, INC, CAST) ((CAST)((PUCHAR)(PTR) + (INC))) |
#define | PtrOffset(BASE, OFFSET) ((ULONG)((ULONG_PTR)(OFFSET) - (ULONG_PTR)(BASE))) |
#define | try_return(S) { S; goto try_exit; } |
Functions | |
NTSTATUS | LfsPinOrMapData (IN PLFCB Lfcb, IN LONGLONG FileOffset, IN ULONG Length, IN BOOLEAN PinData, IN BOOLEAN AllowErrors, IN BOOLEAN IgnoreUsaErrors, OUT PBOOLEAN UsaError, OUT PVOID *Buffer, OUT PBCB *Bcb) |
VOID | LfsPinOrMapLogRecordHeader (IN PLFCB Lfcb, IN LSN Lsn, IN BOOLEAN PinData, IN BOOLEAN IgnoreUsaErrors, OUT PBOOLEAN UsaError, OUT PLFS_RECORD_HEADER *RecordHeader, OUT PBCB *Bcb) |
VOID | LfsCopyReadLogRecord (IN PLFCB Lfcb, IN PLFS_RECORD_HEADER RecordHeader, OUT PVOID Buffer) |
VOID | LfsFlushLfcb (IN PLFCB Lfcb, IN PLBCB Lbcb) |
BOOLEAN | LfsReadRestart (IN PLFCB Lfcb, IN LONGLONG FileSize, IN BOOLEAN FirstRestart, OUT PLONGLONG RestartPageOffset, OUT PLFS_RESTART_PAGE_HEADER *RestartPage, OUT PBCB *RestartPageBcb, OUT PBOOLEAN ChkdskWasRun, OUT PBOOLEAN ValidPage, OUT PBOOLEAN UninitializedFile, OUT PBOOLEAN LogPacked, OUT PLSN LastLsn) |
VOID | LfsFlushLbcb (IN PLFCB Lfcb, IN PLBCB Lbcb) |
VOID | LfsFlushToLsnPriv (IN PLFCB Lfcb, IN LSN Lsn) |
PLBCB | LfsGetLbcb (IN PLFCB Lfcb) |
LONG | LfsExceptionFilter (IN PEXCEPTION_POINTERS ExceptionPointer) |
VOID | LfsNextLogPageOffset (IN PLFCB Lfcb, IN LONGLONG CurrentLogPageOffset, OUT PLONGLONG NextLogPageOffset, OUT PBOOLEAN Wrapped) |
PVOID | LfsAllocateSpanningBuffer (IN PLFCB Lfcb, IN ULONG Length) |
VOID | LfsFreeSpanningBuffer (IN PVOID Buffer) |
BOOLEAN | LfsWriteLogRecordIntoLogPage (IN PLFCB Lfcb, IN PLCH Lch, IN ULONG NumberOfWriteEntries, IN PLFS_WRITE_ENTRY WriteEntries, IN LFS_RECORD_TYPE RecordType, IN TRANSACTION_ID *TransactionId OPTIONAL, IN LSN ClientUndoNextLsn OPTIONAL, IN LSN ClientPreviousLsn OPTIONAL, IN LONG UndoRequirement, IN BOOLEAN ForceToDisk, OUT PLSN Lsn) |
VOID | LfsLsnFinalOffset (IN PLFCB Lfcb, IN LSN Lsn, IN ULONG DataLength, OUT PLONGLONG FinalOffset) |
BOOLEAN | LfsFindNextLsn (IN PLFCB Lfcb, IN PLFS_RECORD_HEADER RecordHeader, OUT PLSN Lsn) |
VOID | LfsWriteLfsRestart (IN PLFCB Lfcb, IN ULONG ThisRestartSize, IN BOOLEAN WaitForIo) |
VOID | LfsFindOldestClientLsn (IN PLFS_RESTART_AREA RestartArea, IN PLFS_CLIENT_RECORD ClientArray, OUT PLSN OldestLsn) |
PLFCB | LfsAllocateLfcb () |
VOID | LfsDeallocateLfcb (IN PLFCB Lfcb, IN BOOLEAN CompleteTeardown) |
VOID | LfsAllocateLbcb (IN PLFCB Lfcb, OUT PLBCB *Lbcb) |
VOID | LfsDeallocateLbcb (IN PLFCB Lfcb, IN PLBCB Lbcb) |
VOID | LfsAllocateLcb (IN PLFCB Lfcb, OUT PLCB *NewLcb) |
VOID | LfsDeallocateLcb (IN PLFCB Lfcb, IN PLCB Lcb) |
VOID | LfsCurrentAvailSpace (IN PLFCB Lfcb, OUT PLONGLONG CurrentAvailSpace, OUT PULONG CurrentPageBytes) |
BOOLEAN | LfsVerifyLogSpaceAvail (IN PLFCB Lfcb, IN PLCH Lch, IN ULONG RemainingLogBytes, IN LONG UndoRequirement, IN BOOLEAN ForceToDisk) |
VOID | LfsFindCurrentAvail (IN PLFCB Lfcb) |
|
Definition at line 721 of file lfsprocs.h. |
|
Value:
Definition at line 658 of file lfsprocs.h. |
|
Value:
Definition at line 666 of file lfsprocs.h. |
|
Value:
Definition at line 654 of file lfsprocs.h. |
|
Definition at line 43 of file lfsprocs.h. |
|
Definition at line 44 of file lfsprocs.h. |
|
Definition at line 490 of file lfsprocs.h. Referenced by LfsAllocateSpanningBuffer(), and LfsFreeSpanningBuffer(). |
|
Definition at line 517 of file lfsprocs.h. Referenced by LfsCloseLogFile(), LfsDeleteLogHandle(), LfsFlushToLsn(), LfsForceWrite(), LfsQueryLastLsn(), LfsReadLogFileInformation(), LfsReadLogRecord(), LfsReadNextLogRecord(), LfsReadRestartArea(), LfsResetUndoTotal(), LfsSetBaseLsn(), LfsTerminateLogQuery(), LfsVerifyLogFile(), LfsWrite(), and LfsWriteRestartArea(). |
|
Definition at line 509 of file lfsprocs.h. Referenced by LfsAllocateSpanningBuffer(), LfsCloseLogFile(), LfsFlushLbcb(), LfsFlushLfcb(), LfsInitializeLogFile(), LfsRestartLogFile(), and LfsWriteLogRecordIntoLogPage(). |
|
Definition at line 484 of file lfsprocs.h. Referenced by LfsCloseLogFile(), LfsInitializeLogFile(), and LfsOpenLogFile(). |
|
Value:
Definition at line 428 of file lfsprocs.h. Referenced by LfsOpenLogFile(). |
|
Definition at line 47 of file lfsprocs.h. |
|
Definition at line 46 of file lfsprocs.h. Referenced by LfsAllocateSpanningBuffer(), and LfsInitializeLogFileService(). |
|
Value:
Definition at line 438 of file lfsprocs.h. Referenced by LfsInitializeLogFile(), LfsRestartLogFile(), and LfsWriteLfsRestart(). |
|
Definition at line 506 of file lfsprocs.h. Referenced by LfsAllocateSpanningBuffer(). |
|
Value:
Definition at line 607 of file lfsprocs.h. Referenced by LfsSearchForwardByClient(). |
|
Value:
Definition at line 291 of file lfsprocs.h. Referenced by LfsWriteLogRecordIntoLogPage(). |
|
Definition at line 435 of file lfsprocs.h. Referenced by LfsDeleteLogHandle(), and LfsOpenLogFile(). |
|
Definition at line 442 of file lfsprocs.h. Referenced by LfsDeallocateLbcb(), LfsDeallocateLfcb(), LfsInitializeLogFile(), and LfsRestartLogFile(). |
|
Value:
Definition at line 283 of file lfsprocs.h. Referenced by LfsFindNextLsn(), and LfsUpdateLfcbFromNoRestart(). |
|
Definition at line 48 of file lfsprocs.h. Referenced by LfsFreeSpanningBuffer(), and LfsInitializeLogFileService(). |
|
Value: Definition at line 423 of file lfsprocs.h. Referenced by LfsReadLogRecord(). |
|
Value: Definition at line 287 of file lfsprocs.h. Referenced by LfsFindNextLsn(). |
|
Definition at line 445 of file lfsprocs.h. Referenced by LfsCloseLogFile(), LfsFindFirstIo(), LfsFlushLbcb(), and LfsFlushToLsnPriv(). |
|
Definition at line 188 of file lfsprocs.h. |
|
Definition at line 302 of file lfsprocs.h. Referenced by LfsFindNextLsn(), LfsSetBaseLsnPriv(), and LfsUpdateLfcbFromRestart(). |
|
Definition at line 308 of file lfsprocs.h. Referenced by LfsCopyReadLogRecord(), LfsFindLogRecord(), LfsLsnFinalOffset(), and LfsPinOrMapLogRecordHeader(). |
|
Definition at line 305 of file lfsprocs.h. Referenced by LfsCheckSubsequentLogPage(), LfsFindLastLsn(), LfsFindNextLsn(), LfsUpdateLfcbFromNoRestart(), and LfsUpdateLfcbFromRestart(). |
|
Definition at line 503 of file lfsprocs.h. Referenced by LfsFreeSpanningBuffer(). |
|
Value:
Definition at line 80 of file lfsprocs.h. Referenced by LfsFlushLfcb(), and LfsGetLbcb(). |
|
Definition at line 493 of file lfsprocs.h. Referenced by LfsAllocateSpanningBuffer(), and LfsFreeSpanningBuffer(). |
|
Value:
Definition at line 520 of file lfsprocs.h. Referenced by LfsCloseLogFile(), LfsDeleteLogHandle(), LfsFlushToLsn(), LfsForceWrite(), LfsQueryLastLsn(), LfsReadLogFileInformation(), LfsReadLogRecord(), LfsReadNextLogRecord(), LfsReadRestartArea(), LfsResetUndoTotal(), LfsSetBaseLsn(), LfsTerminateLogQuery(), LfsVerifyLogFile(), LfsWrite(), and LfsWriteRestartArea(). |
|
Value:
Definition at line 512 of file lfsprocs.h. Referenced by LfsAllocateSpanningBuffer(), LfsCloseLogFile(), LfsFlushLbcb(), LfsFlushLfcb(), LfsInitializeLogFile(), LfsOpenLogFile(), LfsReadNextLogRecord(), LfsReadRestartArea(), LfsRestartLogFile(), LfsVerifyLogFile(), and LfsWriteLogRecordIntoLogPage(). |
|
Definition at line 487 of file lfsprocs.h. Referenced by LfsCloseLogFile(), LfsInitializeLogFile(), and LfsOpenLogFile(). |
|
Value: Definition at line 297 of file lfsprocs.h. Referenced by LfsCheckSubsequentLogPage(), LfsCopyReadLogRecord(), LfsLsnFinalOffset(), and LfsPinOrMapLogRecordHeader(). |
|
Value:
Definition at line 184 of file lfsprocs.h. Referenced by LfsFindCurrentAvail(), LfsFindNextLsn(), LfsNextLogPageOffset(), and LfsUpdateLfcbFromRestart(). |
|
Value:
Definition at line 593 of file lfsprocs.h. Referenced by LfsCloseLogFile(), LfsFlushToLsn(), LfsForceWrite(), LfsQueryLastLsn(), LfsReadLogFileInformation(), LfsReadLogRecord(), LfsReadNextLogRecord(), LfsReadRestartArea(), LfsResetUndoTotal(), LfsSetBaseLsn(), LfsTerminateLogQuery(), LfsWrite(), and LfsWriteRestartArea(). |
|
Value:
Definition at line 611 of file lfsprocs.h. Referenced by LfsReadNextLogRecord(), and LfsTerminateLogQuery(). |
|
Value:
Definition at line 584 of file lfsprocs.h. Referenced by LfsCloseLogFile(), LfsFlushToLsn(), LfsForceWrite(), LfsQueryLastLsn(), LfsReadLogFileInformation(), LfsReadLogRecord(), LfsReadNextLogRecord(), LfsReadRestartArea(), LfsResetUndoTotal(), LfsSetBaseLsn(), LfsTerminateLogQuery(), LfsWrite(), and LfsWriteRestartArea(). |
|
Value: Definition at line 602 of file lfsprocs.h. Referenced by LfsFindClientNextLsn(), and LfsReadLogRecord(). |
|
Value: Definition at line 496 of file lfsprocs.h. Referenced by LfsAllocateSpanningBuffer(). |
|
Value:
Definition at line 701 of file lfsprocs.h. Referenced by LfsFindNextLsn(). |
|
Value:
Definition at line 684 of file lfsprocs.h. |
|
Definition at line 723 of file lfsprocs.h. |
|
Value:
Definition at line 693 of file lfsprocs.h. |
|
Value:
Definition at line 662 of file lfsprocs.h. |
|
Definition at line 754 of file lfsprocs.h. |
|
Value:
Definition at line 675 of file lfsprocs.h. |
|
Definition at line 315 of file lfs/strucsup.c. References ExAllocatePoolWithTag, ExRaiseStatus(), LBCB, LFCB_RESERVE_LBCB_COUNT, LFS_NTC_LBCB, _LBCB::NodeByteSize, _LBCB::NodeTypeCode, NULL, PAGED_CODE, and PagedPool. Referenced by LfsGetLbcb(), LfsUpdateLfcbFromNoRestart(), LfsUpdateLfcbFromRestart(), and LfsWriteLfsRestart().
|
|
Definition at line 463 of file lfs/strucsup.c. References ExAllocatePoolWithTag, ExRaiseStatus(), LCB, LFCB_RESERVE_LCB_COUNT, LFS_NTC_LCB, NULL, and PagedPool. Referenced by LfsReadLogRecord().
|
|
Definition at line 41 of file lfs/strucsup.c. References Count, Dbg, DebugTrace, DebugUnwind, _LFCB_SYNC::Event, ExAllocatePoolWithTag, ExInitializeFastMutex, ExInitializeResource, FsRtlAllocatePool, KeInitializeEvent, _LFCB::LbcbActive, _LFCB::LbcbWorkque, _LFCB::LchLinks, LFCB, LFCB_RESERVE_LBCB_COUNT, LFCB_RESERVE_LCB_COUNT, LFS_NTC_LFCB, LfsDeallocateLfcb(), LfsLi1, _LFCB::NextRestartLsn, _LFCB::NodeByteSize, _LFCB::NodeTypeCode, NonPagedPool, NULL, PAGED_CODE, PagedPool, _LFCB_SYNC::Resource, _LFCB::SpareLbcbCount, _LFCB::SpareLbcbList, _LFCB::SpareLcbCount, _LFCB::SpareLcbList, _LFCB_SYNC::SpareListMutex, _LFCB::Sync, TRUE, and _LFCB_SYNC::UserCount. Referenced by LfsInitializeLogFile(), and LfsRestartLogFile().
|
|
Definition at line 113 of file logpgsup.c. References ASSERT, _LFS_DATA::Buffer1, _LFS_DATA::Buffer2, _LFS_DATA::BufferFlags, _LFS_DATA::BufferOwner, Dbg, DebugTrace, ERESOURCE_THREAD, ExGetCurrentResourceThread, ExRaiseStatus(), FALSE, FlagOn, LFS_BUFFER1_OWNED, LFS_BUFFER2_OWNED, LFS_BUFFER_SIZE, LfsAcquireBufferLock, LfsAcquireLfcb, LfsAllocatePoolNoRaise, LfsBlockBufferWaiters, LfsData, LfsReleaseBufferLock, LfsReleaseLfcb, LfsWaitForBufferNotification, NULL, PAGED_CODE, PagedPool, SetFlag, and TRUE. Referenced by LfsFindLogRecord().
|
|
Definition at line 339 of file lfs/cachesup.c. References Add2Ptr, Buffer, CcUnpinData(), Dbg, DebugTrace, ExRaiseStatus(), FALSE, FlagOn, LFCB_PACK_LOG, LfsLsnToPageOffset, LfsNextLogPageOffset(), LfsPinOrMapData(), LfsTruncateLsnToLogPage, LOG_PAGE_LOG_RECORD_END, NULL, PAGED_CODE, and TRUE. Referenced by LfsFindLogRecord(), and LfsReadRestartArea().
|
|
Definition at line 36 of file lfs/verfysup.c. References _LBCB::BufferOffset, Dbg, DebugTrace, FlagOn, LBCB_FLUSH_COPY, LBCB_NOT_EMPTY, _LBCB::LbcbFlags, and PAGED_CODE. Referenced by LfsFlushToLsnPriv(), LfsReadLogFileInformation(), and LfsVerifyLogSpaceAvail().
|
|
Definition at line 402 of file lfs/strucsup.c. References ExFreePool(), FlagOn, LBCB_RESTART_LBCB, LFCB_MAX_LBCB_COUNT, LfsDeallocateRestartArea, NULL, and PAGED_CODE. Referenced by LfsCloseLogFile(), LfsDeallocateLfcb(), LfsFlushLfcb(), and LfsGetLbcb().
|
|
Definition at line 518 of file lfs/strucsup.c. References CcUnpinData(), ExFreePool(), LFCB_MAX_LCB_COUNT, LfsFreeSpanningBuffer(), and NULL. Referenced by LfsReadLogRecord(), and LfsTerminateLogQuery().
|
|
Definition at line 188 of file lfs/strucsup.c. References ASSERT, Dbg, DebugTrace, ExDeleteResource, ExFreePool(), LfsDeallocateLbcb(), LfsDeallocateRestartArea, NULL, and PAGED_CODE. Referenced by LfsAllocateLfcb(), LfsCloseLogFile(), LfsInitializeLogFile(), LfsOpenLogFile(), and LfsRestartLogFile().
|
|
Definition at line 58 of file lfsdata.c. References ASSERT, EXCEPTION_CONTINUE_SEARCH, EXCEPTION_EXECUTE_HANDLER, FsRtlIsNtstatusExpected(), and NTSTATUS(). Referenced by LfsCloseLogFile(), LfsDeleteLogHandle(), LfsFlushToLsn(), LfsForceWrite(), LfsInitializeLogFile(), LfsOpenLogFile(), LfsPinOrMapData(), LfsReadLogRecord(), LfsReadNextLogRecord(), LfsReadRestartArea(), LfsSetBaseLsn(), LfsWrite(), and LfsWriteRestartArea().
|
|
Definition at line 412 of file lfs/verfysup.c. References Dbg, DebugTrace, FlagOn, LFCB_NO_LAST_LSN, LFCB_NO_OLDEST_LSN, LFCB_REUSE_TAIL, LfsTruncateOffsetToLogPage, and PAGED_CODE. Referenced by LfsRestartLogFile(), LfsSetBaseLsnPriv(), and LfsUpdateLfcbFromRestart().
|
|
Definition at line 148 of file lsnsup.c. References CcUnpinData(), Dbg, DebugTrace, DebugUnwind, FALSE, LfsFileOffsetToLsn, LfsFindNextLsn(), LfsIsLsnInFile, LfsLsnFinalOffset(), LfsLsnToFileOffset, LfsLsnToSeqNumber, LfsNextLogPageOffset(), LfsPinOrMapData(), LfsTruncateOffsetToLogPage, LiQuadAlign, NULL, PAGED_CODE, and TRUE. Referenced by LfsFindNextLsn(), and LfsSearchForwardByClient().
|
|
Definition at line 189 of file rstrtsup.c. References Dbg, DebugTrace, LFS_NO_CLIENT, _LFS_CLIENT_RECORD::NextClient, _LFS_CLIENT_RECORD::OldestLsn, PAGED_CODE, and USHORT. Referenced by LfsSetBaseLsnPriv(), and LfsUpdateLfcbFromRestart().
|
|
Definition at line 37 of file lbcbsup.c. References Dbg, DebugTrace, Executive, FALSE, KernelMode, KeWaitForSingleObject(), LfsAcquireLfcb, LfsFlushLfcb(), LfsLbcbIsRestart, LfsNoIoInProgress, LfsReleaseLfcb, LSN, NULL, PAGED_CODE, and PLSN. Referenced by LfsFlushToLsnPriv(), and LfsWriteLfsRestart().
|
|
Definition at line 551 of file lfs/cachesup.c. References Add2Ptr, ASSERT, CcFlushCache(), CcMapData(), CcSetDirtyPinnedData(), CcUnpinData(), CcUnpinDataForThread(), _LFS_RESTART_PAGE_HEADER::ChkDskLsn, ClearFlag, _LFS_RECORD_PAGE_HEADER::Copy, Count, Dbg, DebugTrace, DebugUnwind, ExGetCurrentResourceThread, ExRaiseStatus(), FALSE, _LBCB::FileOffset, FlagOn, _LBCB::Flags, KeClearEvent, KeSetEvent(), _LBCB::LastEndLsn, _LBCB::LastLsn, LBCB, _LBCB::Length, LFCB_FINAL_SHUTDOWN, LFCB_LOG_WRAPPED, LFCB_MULTIPLE_PAGE_IO, LFCB_READ_FIRST_RESTART, LFCB_READ_SECOND_RESTART, LFS_SIGNATURE_RECORD_PAGE_ULONG, LFS_SIGNATURE_RESTART_PAGE_ULONG, LfsAcquireLfcb, LfsClientThreadIo, LfsDeallocateLbcb(), LfsFindFirstIo(), LfsFlushLfcb(), LfsLi0, LfsNoIoInProgress, LfsPinOrMapData(), LfsPreparePinWriteData, LfsReleaseLfcb, LfsUsaSeqNumber, LOG_PAGE_LOG_RECORD_END, _LBCB::LogPageBcb, _LFS_RESTART_PAGE_HEADER::LogPageSize, LSN, _LFS_RESTART_PAGE_HEADER::MajorVersion, _LFS_RESTART_PAGE_HEADER::MinorVersion, _LFS_RECORD_PAGE_HEADER::MultiSectorHeader, _LFS_RESTART_PAGE_HEADER::MultiSectorHeader, NT_SUCCESS, NTSTATUS(), NULL, PAGE_SIZE, _LFS_RECORD_PAGE_HEADER::PageCount, PAGED_CODE, _LBCB::PageHeader, _LFS_RECORD_PAGE_HEADER::PagePosition, PLFS_RESTART_AREA, PUSHORT, _LBCB::ResourceThread, RESTART_SINGLE_PAGE_IO, _LFS_RESTART_PAGE_HEADER::RestartOffset, SetFlag, _MULTI_SECTOR_HEADER::Signature, Status, _LFS_RESTART_PAGE_HEADER::SystemPageSize, TRUE, try_return, _MULTI_SECTOR_HEADER::UpdateSequenceArrayOffset, _MULTI_SECTOR_HEADER::UpdateSequenceArraySize, USHORT, and _LBCB::WorkqueLinks. Referenced by LfsFlushLbcb(), and LfsFlushLfcb().
|
|
Definition at line 134 of file lbcbsup.c. References _LBCB::ActiveLinks, ClearFlag, Dbg, DebugTrace, ExRaiseStatus(), FALSE, FlagOn, _LBCB::Flags, LBCB_ON_ACTIVE_QUEUE, _LBCB::LbcbFlags, LFCB_PACK_LOG, LfsCurrentAvailSpace(), LfsFlushLbcb(), LfsLbcbIsRestart, LOG_PAGE_LOG_RECORD_END, NULL, PAGED_CODE, and TRUE. Referenced by LfsFlushToLsn(), and LfsForceWrite().
|
|
Definition at line 297 of file logpgsup.c. References ASSERT, Buffer, _LFS_DATA::Buffer1, _LFS_DATA::BufferFlags, _LFS_DATA::BufferOwner, ClearFlag, Dbg, DebugTrace, ERESOURCE_THREAD, ExGetCurrentResourceThread, FlagOn, LFS_BUFFER1_OWNED, LFS_BUFFER2_OWNED, LfsAcquireBufferLock, LfsData, LfsFreePool, LfsNotifyBufferWaiters, LfsReleaseBufferLock, NULL, and PAGED_CODE. Referenced by LfsDeallocateLcb(), LfsFindLogRecord(), and LfsReadNextLogRecord().
|
|
Definition at line 311 of file lbcbsup.c. References _LBCB::ActiveLinks, _LBCB::BufferOffset, CcSetBcbOwnerPointer(), CcUnpinData(), ClearFlag, Dbg, DebugTrace, DebugUnwind, ERESOURCE_THREAD, ExGetCurrentResourceThread, _LBCB::FileOffset, FlagOn, _LBCB::Flags, KeBugCheck(), _LBCB::LastEndLsn, _LBCB::LastLsn, LBCB_FLUSH_COPY, LBCB_LOG_WRAPPED, LBCB_ON_ACTIVE_QUEUE, _LBCB::LbcbFlags, _LBCB::Length, LFCB_LOG_WRAPPED, LFCB_NO_LAST_LSN, LFCB_REUSE_TAIL, LFS_SIGNATURE_RECORD_PAGE_ULONG, LfsAllocateLbcb(), LfsDeallocateLbcb(), LfsGetLbcb(), LfsNextLogPageOffset(), LfsPreparePinWriteData, _LBCB::LogPageBcb, NULL, PAGED_CODE, _LBCB::PageHeader, _LBCB::ResourceThread, _LBCB::SeqNumber, and SetFlag. Referenced by LfsGetLbcb(), and LfsPrepareLfcbForLogRecord().
|
|
Definition at line 36 of file lsnsup.c. References Dbg, DebugTrace, LfsLsnToPageOffset, LfsNextLogPageOffset(), LfsTruncateLsnToLogPage, PAGED_CODE, and TRUE. Referenced by LfsFindNextLsn(), and LfsUpdateLfcbFromRestart().
|
|
Definition at line 40 of file logpgsup.c. References Dbg, DebugTrace, FALSE, LfsTruncateOffsetToLogPage, PAGED_CODE, and TRUE. Referenced by LfsCopyReadLogRecord(), LfsFindLastLsn(), LfsFindNextLsn(), LfsGetLbcb(), LfsLsnFinalOffset(), and LfsUpdateLfcbFromRestart().
|
|
Definition at line 84 of file lfs/cachesup.c. References Buffer, CcMapData(), CcPinRead(), CcUnpinData(), Dbg, DebugTrace, DebugUnwind, ExRaiseStatus(), FALSE, LFS_SIGNATURE_BAD_USA_ULONG, LfsExceptionFilter(), LfsPinOrMapData(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, Status, and TRUE. Referenced by LfsCopyReadLogRecord(), LfsFindLastLsn(), LfsFindNextLsn(), LfsFlushLfcb(), LfsInitializeLogFilePriv(), LfsPinOrMapData(), LfsPinOrMapLogRecordHeader(), LfsReadRestart(), and LfsRestartLogFile().
|
|
Definition at line 248 of file lfs/cachesup.c. References Add2Ptr, Dbg, DebugTrace, FALSE, LfsLsnToPageOffset, LfsPinOrMapData(), LfsTruncateLsnToLogPage, PAGED_CODE, PLFS_RECORD_HEADER, and PLFS_RECORD_PAGE_HEADER. Referenced by LfsFindClientNextLsn(), LfsFindLogRecord(), LfsReadRestartArea(), and LfsSearchForwardByClient().
|
|
Definition at line 1402 of file lfs/cachesup.c. References Add2Ptr, CcUnpinData(), _LFS_RESTART_AREA::ClientInUseList, _LFS_RESTART_AREA::CurrentLsn, Dbg, DebugTrace, DebugUnwind, FALSE, LFS_NO_CLIENT, LFS_SIGNATURE_MODIFIED_ULONG, LFS_SIGNATURE_RECORD_PAGE_ULONG, LFS_SIGNATURE_RESTART_PAGE_ULONG, LFS_SIGNATURE_UNINITIALIZED_ULONG, LfsIsClientAreaValid(), LfsIsRestartAreaValid(), LfsIsRestartPageHeaderValid(), LfsPinOrMapData(), LfsReadRestart(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PLSN, SEQUENCE_NUMBER_STRIDE, Status, and TRUE. Referenced by LfsReadRestart(), and LfsRestartLogFile().
|
|
Definition at line 114 of file lfs/verfysup.c. References Dbg, DebugTrace, ExRaiseStatus(), FALSE, FlagOn, LFCB_PACK_LOG, LfsCurrentAvailSpace(), PAGED_CODE, and TRUE. Referenced by LfsWriteLogRecordIntoLogPage().
|
|
Definition at line 36 of file rstrtsup.c. References _LBCB::ActiveLinks, Add2Ptr, ClearFlag, _LFS_RESTART_AREA::ClientArrayOffset, Dbg, DebugTrace, DebugUnwind, ExFreePool(), _LBCB::FileOffset, FlagOn, _LBCB::LastEndLsn, _LBCB::LastLsn, LBCB_NOT_EMPTY, LBCB_ON_ACTIVE_QUEUE, LBCB_RESTART_LBCB, _LBCB::LbcbFlags, _LBCB::Length, LFCB_PACK_LOG, LfsAllocateLbcb(), LfsAllocateRestartArea, LfsFlushLbcb(), LfsWriteLfsRestart(), NULL, PAGED_CODE, _LBCB::PageHeader, SetFlag, and _LBCB::WorkqueLinks. Referenced by LfsCloseLogFile(), LfsInitializeLogFilePriv(), LfsSetBaseLsn(), LfsWriteLfsRestart(), and LfsWriteRestartArea().
|
|
Definition at line 55 of file logrcsup.c. References Add2Ptr, _LFS_WRITE_ENTRY::Buffer, _LBCB::BufferOffset, _LFS_WRITE_ENTRY::ByteLength, ClearFlag, _LFS_RECORD_HEADER::ClientDataLength, _LFS_RECORD_HEADER::ClientId, _LFS_RECORD_HEADER::ClientPreviousLsn, _LFS_RECORD_HEADER::ClientUndoNextLsn, _LFS_RECORD_PAGE_HEADER::Copy, Dbg, DebugTrace, Executive, FALSE, FlagOn, _LFS_RECORD_HEADER::Flags, _LBCB::Flags, _LFS_RECORD_PAGE_HEADER::Flags, _LFS_RECORD_PAGE_HEADER::Header, KernelMode, KeWaitForSingleObject(), _LBCB::LastEndLsn, _LBCB::LastLsn, LBCB_NOT_EMPTY, LBCB_ON_ACTIVE_QUEUE, _LBCB::LbcbFlags, LFCB_NO_LAST_LSN, LFCB_PACK_LOG, LfsAcquireLfcb, LfsComputeLsnFromLbcb, LfsPrepareLfcbForLogRecord(), LfsReleaseLfcb, LfsTransferLogBytes(), LfsVerifyLogSpaceAvail(), LOG_PAGE_LOG_RECORD_END, LOG_RECORD_MULTI_PAGE, _LBCB::LogPageBcb, LSN, NULL, PAGED_CODE, _LBCB::PageHeader, QuadAlign, _LFS_RECORD_HEADER::RecordType, SetFlag, _LFS_RECORD_HEADER::ThisLsn, _LFS_RECORD_HEADER::TransactionId, TRUE, USHORT, and _LBCB::WorkqueLinks. Referenced by LfsForceWrite(), LfsWrite(), and LfsWriteRestartArea().
|