当前位置: 首页 > news >正文

Ntfs!LfsFlushLfcb函数分析之Ntfs!_LFCB->LbcbWorkque的背景分析3个restart页面一个普通页面的一个例子

第一部分:总纲,4个页面

0: kd> dx -r1 ((Ntfs!_LFCB *)0xe13417d8)
((Ntfs!_LFCB *)0xe13417d8)                 : 0xe13417d8 [Type: _LFCB *]
[+0x000] NodeTypeCode     : 2051 [Type: short]
[+0x002] NodeByteSize     : 352 [Type: short]
[+0x004] LfcbLinks        [Type: _LIST_ENTRY]
[+0x00c] LchLinks         [Type: _LIST_ENTRY]
[+0x014] FileObject       : 0x894d0c60 [Type: _FILE_OBJECT *]
[+0x018] FileSize         : 67108864 [Type: __int64]
[+0x020] LogPageSize      : 4096 [Type: __int64]
[+0x028] LogPageMask      : 0xfff [Type: unsigned long]
[+0x02c] LogPageInverseMask : -4096 [Type: long]
[+0x030] LogPageShift     : 0xc [Type: unsigned long]
[+0x038] FirstLogPage     : 16384 [Type: __int64]
[+0x040] NextLogPage      : 9580544 [Type: __int64]
[+0x048] ReusePageOffset  : 0x3c0 [Type: unsigned long]
[+0x04c] RestartDataOffset : 0x30 [Type: unsigned long]
[+0x050] LogPageDataOffset : 64 [Type: __int64]
[+0x058] RestartDataSize  : 0xfd0 [Type: unsigned long]
[+0x060] LogPageDataSize  : 4032 [Type: __int64]
[+0x068] RecordHeaderLength : 0x30 [Type: unsigned short]
[+0x070] SeqNumber        : 8 [Type: __int64]
[+0x078] SeqNumberForWrap : 9 [Type: __int64]
[+0x080] SeqNumberBits    : 0x28 [Type: unsigned long]
[+0x084] FileDataBits     : 0x18 [Type: unsigned long]
[+0x088] LbcbWorkque      [Type: _LIST_ENTRY]


0: kd> dx -r1 (*((Ntfs!_LIST_ENTRY *)0xe1341860))
(*((Ntfs!_LIST_ENTRY *)0xe1341860))                 [Type: _LIST_ENTRY]
[+0x000] Flink            : 0xe135ed2c [Type: _LIST_ENTRY *]
[+0x004] Blink            : 0xe127bc34 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((Ntfs!_LIST_ENTRY *)0xe135ed2c)
((Ntfs!_LIST_ENTRY *)0xe135ed2c)                 : 0xe135ed2c [Type: _LIST_ENTRY *]
[+0x000] Flink            : 0xe1277b54 [Type: _LIST_ENTRY *]
[+0x004] Blink            : 0xe1341860 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((Ntfs!_LIST_ENTRY *)0xe1277b54)
((Ntfs!_LIST_ENTRY *)0xe1277b54)                 : 0xe1277b54 [Type: _LIST_ENTRY *]
[+0x000] Flink            : 0xe1350cec [Type: _LIST_ENTRY *]
[+0x004] Blink            : 0xe135ed2c [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((Ntfs!_LIST_ENTRY *)0xe1350cec)
((Ntfs!_LIST_ENTRY *)0xe1350cec)                 : 0xe1350cec [Type: _LIST_ENTRY *]
[+0x000] Flink            : 0xe127bc34 [Type: _LIST_ENTRY *]
[+0x004] Blink            : 0xe1277b54 [Type: _LIST_ENTRY *]


第二部分:

第一个:

0: kd> dt _lbcb 0xe135ed2c-4
Ntfs!_LBCB
+0x000 NodeTypeCode     : 0n26512
+0x002 NodeByteSize     : 0n-7897
+0x004 WorkqueLinks     : _LIST_ENTRY [ 0xe13418f4 - 0xe1341860 ]
+0x00c ActiveLinks      : _LIST_ENTRY [ 0x0 - 0x0 ]
+0x018 FileOffset       : 0n4096
+0x020 Length           : 0n4048
+0x028 SeqNumber        : 0n0
+0x030 BufferOffset     : 0n0
+0x038 PageHeader       : 0xe1363008 Void
+0x03c LogPageBcb       : (null)
+0x040 LastLsn          : _LARGE_INTEGER 0x8124466
+0x048 LastEndLsn       : _LARGE_INTEGER 0x8124466
+0x050 Flags            : 0
+0x054 LbcbFlags        : 0x20
+0x058 ResourceThread   : 0


0: kd> dt lfs_restart_area 0xe1363008
Ntfs!LFS_RESTART_AREA
+0x000 CurrentLsn       : _LARGE_INTEGER 0xe128e900
+0x008 LogClients       : 1
+0x00a ClientFreeList   : 0xffff
+0x00c ClientInUseList  : 0
+0x00e Flags            : 0
+0x010 SeqNumberBits    : 0x28
+0x014 RestartAreaLength : 0xe0
+0x016 ClientArrayOffset : 0x40
+0x018 FileSize         : 0n67108864
+0x020 LastLsnDataLength : 0x68
+0x024 RecordHeaderLength : 0x30
+0x026 LogPageDataOffset : 0x40
+0x028 RestartOpenLogCount : 0x85e12261
+0x02c LastFailedFlushStatus : 0
+0x030 LastFailedFlushOffset : 0n0
+0x038 LastFailedFlushLsn : _LARGE_INTEGER 0x0
+0x040 LogClientArray   : [1] _LFS_CLIENT_RECORD
0: kd> dx -id 0,0,899a2278 -r1 (*((Ntfs!_LFS_CLIENT_RECORD (*)[1])0xe1363048))
(*((Ntfs!_LFS_CLIENT_RECORD (*)[1])0xe1363048))                 [Type: _LFS_CLIENT_RECORD [1]]
[0]              [Type: _LFS_CLIENT_RECORD]
0: kd> dt Ntfs!_LFS_CLIENT_RECORD  0xe1363048
+0x000 OldestLsn        : _LARGE_INTEGER 0x8124452
+0x008 ClientRestartLsn : _LARGE_INTEGER 0x8124465
+0x010 PrevClient       : 0xffff
+0x012 NextClient       : 0xffff
+0x014 SeqNumber        : 0
+0x016 AlignWord        : 0
+0x018 AlignDWord       : 0
+0x01c ClientNameLength : 8
+0x020 ClientName       : [64] 0x4e


0: kd> ?8*124465
Evaluate expression: 9577256 = 00922328


第三部分:

第二个:


0: kd> dt _lbcb 0xe1277b54-4
Ntfs!_LBCB
+0x000 NodeTypeCode     : 0n2050
+0x002 NodeByteSize     : 0n96
+0x004 WorkqueLinks     : _LIST_ENTRY [ 0xe1350cec - 0xe1341860 ]
+0x00c ActiveLinks      : _LIST_ENTRY [ 0x0 - 0x0 ]
+0x018 FileOffset       : 0n0
+0x020 Length           : 0n4048
+0x028 SeqNumber        : 0n0
+0x030 BufferOffset     : 0n0
+0x038 PageHeader       : 0xe138c008 Void
+0x03c LogPageBcb       : (null)
+0x040 LastLsn          : _LARGE_INTEGER 0x8124467
+0x048 LastEndLsn       : _LARGE_INTEGER 0x8124467
+0x050 Flags            : 0
+0x054 LbcbFlags        : 0x20
+0x058 ResourceThread   : 0


0: kd> dt lfs_restart_area 0xe138c008
Ntfs!LFS_RESTART_AREA
+0x000 CurrentLsn       : _LARGE_INTEGER 0x8124465
+0x008 LogClients       : 1
+0x00a ClientFreeList   : 0xffff
+0x00c ClientInUseList  : 0
+0x00e Flags            : 0
+0x010 SeqNumberBits    : 0x28
+0x014 RestartAreaLength : 0xe0
+0x016 ClientArrayOffset : 0x40
+0x018 FileSize         : 0n67108864
+0x020 LastLsnDataLength : 0x68
+0x024 RecordHeaderLength : 0x30
+0x026 LogPageDataOffset : 0x40
+0x028 RestartOpenLogCount : 0x85e12261
+0x02c LastFailedFlushStatus : 0
+0x030 LastFailedFlushOffset : 0n0
+0x038 LastFailedFlushLsn : _LARGE_INTEGER 0x0
+0x040 LogClientArray   : [1] _LFS_CLIENT_RECORD
0: kd> dx -id 0,0,899a2278 -r1 (*((Ntfs!_LFS_CLIENT_RECORD (*)[1])0xe139d048))
(*((Ntfs!_LFS_CLIENT_RECORD (*)[1])0xe139d048))                 [Type: _LFS_CLIENT_RECORD [1]]
[0]              [Type: _LFS_CLIENT_RECORD]
0: kd> dt Ntfs!_LFS_CLIENT_RECORD  0xe139d048
+0x000 OldestLsn        : _LARGE_INTEGER 0x8124465
+0x008 ClientRestartLsn : _LARGE_INTEGER 0x8124478
+0x010 PrevClient       : 0xffff
+0x012 NextClient       : 0xffff
+0x014 SeqNumber        : 0
+0x016 AlignWord        : 0
+0x018 AlignDWord       : 0
+0x01c ClientNameLength : 8
+0x020 ClientName       : [64] 0x4e


第四部分:

第三个:

0: kd> dt lbcb 0xe1350cec-4
Ntfs!LBCB
+0x000 NodeTypeCode     : 0n2050
+0x002 NodeByteSize     : 0n96
+0x004 WorkqueLinks     : _LIST_ENTRY [ 0xe127bc34 - 0xe1277b54 ]
+0x00c ActiveLinks      : _LIST_ENTRY [ 0xe1341868 - 0xe1341868 ]
+0x018 FileOffset       : 0n9576448
+0x020 Length           : 0n4096
+0x028 SeqNumber        : 0n8
+0x030 BufferOffset     : 0n1112
+0x038 PageHeader       : 0xc11a2000 Void
+0x03c LogPageBcb       : 0x89811ce8 Void
+0x040 LastLsn          : _LARGE_INTEGER 0x8124478
+0x048 LastEndLsn       : _LARGE_INTEGER 0x8124478
+0x050 Flags            : 1
+0x054 LbcbFlags        : 0xe
+0x058 ResourceThread   : 0x8999d023

0: kd> db 0xc11a2000
c11a2000  52 43 52 44 28 00 09 00-78 44 12 08 00 00 00 00  RCRD(...xD......
c11a2010  01 00 00 00 01 00 01 00-58 04 00 00 00 00 00 00  ........X.......
c11a2020  78 44 12 08 00 00 00 00-15 33 00 00 00 00 00 00  xD.......3......
c11a2030  db 01 00 00 00 00 00 00-ff ff 00 00 00 00 00 00  ................
c11a2040  08 44 12 08 00 00 00 00-50 05 12 08 00 00 00 00  .D......P.......
c11a2050  00 00 00 00 00 00 00 00-28 00 00 00 00 00 00 00  ........(.......
c11a2060  01 00 00 00 18 00 00 00-00 00 00 00 00 00 00 00  ................
c11a2070  1b 00 01 00 28 00 00 00-28 00 04 00 44 00 00 00  ....(...(...D...


0: kd> dt LFS_RECORD_HEADER c11a2040
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x8124408
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x8120550
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x0
+0x018 ClientDataLength : 0x28
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 1 ( LfsClientRecord )
+0x024 TransactionId    : 0x18
+0x028 Flags            : 0
+0x02a AlignWord        : 0
0: kd> dt LFS_RECORD_HEADER c11a2040+58
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x8124413
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x81243ee
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x0
+0x018 ClientDataLength : 0x40
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 1 ( LfsClientRecord )
+0x024 TransactionId    : 0x40
+0x028 Flags            : 0
+0x02a AlignWord        : 0
0: kd> dt LFS_RECORD_HEADER c11a2040+58+70
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x8124421
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x8124413
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x0
+0x018 ClientDataLength : 0x28
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 1 ( LfsClientRecord )
+0x024 TransactionId    : 0x40
+0x028 Flags            : 0
+0x02a AlignWord        : 0
0: kd> dt LFS_RECORD_HEADER c11a2040+58+70+58
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x812442c
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x0
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x0
+0x018 ClientDataLength : 0x68
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 2 ( LfsClientRestart )
+0x024 TransactionId    : 0
+0x028 Flags            : 0
+0x02a AlignWord        : 0

0: kd> dt _restart_area c11a2040+58+70+58+30
Ntfs!_RESTART_AREA
+0x000 MajorVersion     : 0
+0x004 MinorVersion     : 0
+0x008 StartOfCheckpoint : _LARGE_INTEGER 0x8124421
+0x010 OpenAttributeTableLsn : _LARGE_INTEGER 0x0
+0x018 AttributeNamesLsn : _LARGE_INTEGER 0x0
+0x020 DirtyPageTableLsn : _LARGE_INTEGER 0x0
+0x028 TransactionTableLsn : _LARGE_INTEGER 0x0
+0x030 OpenAttributeTableLength : 0
+0x034 AttributeNamesLength : 0
+0x038 DirtyPageTableLength : 0
+0x03c TransactionTableLength : 0
+0x040 LowestOpenUsn    : 0n0
+0x048 CurrentLsnAtMount : _LARGE_INTEGER 0x81243ee
+0x050 BytesPerCluster  : 0x1000
+0x054 Reserved         : 0
+0x058 UsnJournalReference : _MFT_SEGMENT_REFERENCE
+0x060 UsnCacheBias     : 0n0


0: kd> ?0n9576448
Evaluate expression: 9576448 = 00922000


0: kd> dt LFS_RECORD_HEADER c11a2040+58+70+58+30+68
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x812443f
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x0
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x0
+0x018 ClientDataLength : 0x68
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 2 ( LfsClientRestart )
+0x024 TransactionId    : 0
+0x028 Flags            : 0
+0x02a AlignWord        : 0
0: kd>  dt restart_area c11a2040+58+70+58+30+68+30
Ntfs!RESTART_AREA
+0x000 MajorVersion     : 0
+0x004 MinorVersion     : 0
+0x008 StartOfCheckpoint : _LARGE_INTEGER 0x812442c
+0x010 OpenAttributeTableLsn : _LARGE_INTEGER 0x0
+0x018 AttributeNamesLsn : _LARGE_INTEGER 0x0
+0x020 DirtyPageTableLsn : _LARGE_INTEGER 0x0
+0x028 TransactionTableLsn : _LARGE_INTEGER 0x0
+0x030 OpenAttributeTableLength : 0
+0x034 AttributeNamesLength : 0
+0x038 DirtyPageTableLength : 0
+0x03c TransactionTableLength : 0
+0x040 LowestOpenUsn    : 0n0
+0x048 CurrentLsnAtMount : _LARGE_INTEGER 0x812442c
+0x050 BytesPerCluster  : 0x1000
+0x054 Reserved         : 0
+0x058 UsnJournalReference : _MFT_SEGMENT_REFERENCE
+0x060 UsnCacheBias     : 0n0


0: kd> dt LFS_RECORD_HEADER c11a2040+58+70+58+30+68+30+68
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x8124452
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x0
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x0
+0x018 ClientDataLength : 0x68
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 2 ( LfsClientRestart )
+0x024 TransactionId    : 0
+0x028 Flags            : 0
+0x02a AlignWord        : 0
0: kd> dt restart_area c11a2040+58+70+58+30+68+30+68+30
Ntfs!RESTART_AREA
+0x000 MajorVersion     : 0
+0x004 MinorVersion     : 0
+0x008 StartOfCheckpoint : _LARGE_INTEGER 0x812443f
+0x010 OpenAttributeTableLsn : _LARGE_INTEGER 0x0
+0x018 AttributeNamesLsn : _LARGE_INTEGER 0x0
+0x020 DirtyPageTableLsn : _LARGE_INTEGER 0x0
+0x028 TransactionTableLsn : _LARGE_INTEGER 0x0
+0x030 OpenAttributeTableLength : 0
+0x034 AttributeNamesLength : 0
+0x038 DirtyPageTableLength : 0
+0x03c TransactionTableLength : 0
+0x040 LowestOpenUsn    : 0n0
+0x048 CurrentLsnAtMount : _LARGE_INTEGER 0x812443f
+0x050 BytesPerCluster  : 0x1000
+0x054 Reserved         : 0
+0x058 UsnJournalReference : _MFT_SEGMENT_REFERENCE
+0x060 UsnCacheBias     : 0n0


0: kd> dt LFS_RECORD_HEADER c11a2040+58+70+58+30+68+30+68+30+68+30+68
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x8124478
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x0
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x0
+0x018 ClientDataLength : 0x68
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 2 ( LfsClientRestart )
+0x024 TransactionId    : 0
+0x028 Flags            : 0
+0x02a AlignWord        : 0
0: kd> dt restart_area c11a2040+58+70+58+30+68+30+68+30+68+30+68+30
Ntfs!RESTART_AREA
+0x000 MajorVersion     : 0
+0x004 MinorVersion     : 0
+0x008 StartOfCheckpoint : _LARGE_INTEGER 0x8124465
+0x010 OpenAttributeTableLsn : _LARGE_INTEGER 0x0
+0x018 AttributeNamesLsn : _LARGE_INTEGER 0x0
+0x020 DirtyPageTableLsn : _LARGE_INTEGER 0x0
+0x028 TransactionTableLsn : _LARGE_INTEGER 0x0
+0x030 OpenAttributeTableLength : 0
+0x034 AttributeNamesLength : 0
+0x038 DirtyPageTableLength : 0
+0x03c TransactionTableLength : 0
+0x040 LowestOpenUsn    : 0n0
+0x048 CurrentLsnAtMount : _LARGE_INTEGER 0x8124465
+0x050 BytesPerCluster  : 0x1000
+0x054 Reserved         : 0
+0x058 UsnJournalReference : _MFT_SEGMENT_REFERENCE
+0x060 UsnCacheBias     : 0n0

0: kd> dt LFS_RECORD_HEADER c11a2040+58+70+58+30+68+30+68+30+68+30+68
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x8124478
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x0
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x0
+0x018 ClientDataLength : 0x68
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 2 ( LfsClientRestart )
+0x024 TransactionId    : 0
+0x028 Flags            : 0
+0x02a AlignWord        : 0
0: kd> dt restart_area c11a2040+58+70+58+30+68+30+68+30+68+30+68+30
Ntfs!RESTART_AREA
+0x000 MajorVersion     : 0
+0x004 MinorVersion     : 0
+0x008 StartOfCheckpoint : _LARGE_INTEGER 0x8124465
+0x010 OpenAttributeTableLsn : _LARGE_INTEGER 0x0
+0x018 AttributeNamesLsn : _LARGE_INTEGER 0x0
+0x020 DirtyPageTableLsn : _LARGE_INTEGER 0x0
+0x028 TransactionTableLsn : _LARGE_INTEGER 0x0
+0x030 OpenAttributeTableLength : 0
+0x034 AttributeNamesLength : 0
+0x038 DirtyPageTableLength : 0
+0x03c TransactionTableLength : 0
+0x040 LowestOpenUsn    : 0n0
+0x048 CurrentLsnAtMount : _LARGE_INTEGER 0x8124465
+0x050 BytesPerCluster  : 0x1000
+0x054 Reserved         : 0
+0x058 UsnJournalReference : _MFT_SEGMENT_REFERENCE
+0x060 UsnCacheBias     : 0n0

第五部分:

logfile文件循环使用,seq number为7,是原来的日志记录!

0: kd> dd c11a2040+58+70+58+30+68+30+68+30+68+30+68+80*2
c11a24c0  3672784e 01db4091 0014e000 00000000
c11a24d0  0014e000 00000000 00000022 00000000
c11a24e0  0712449c 00000000 07124483 00000000
c11a24f0  00000000 00000000 00000028 00000000
c11a2500  00000001 00000040 00000000 00000000
c11a2510  0001001b 00000028 00040028 00000044
c11a2520  00000000 00000000 00000000 00000000
c11a2530  ffffffff ffffffff 071244a7 00000000
0: kd> dt LFS_RECORD_HEADER c11a24e0
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x712449c
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x7124483
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x0
+0x018 ClientDataLength : 0x28
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 1 ( LfsClientRecord )
+0x024 TransactionId    : 0x40
+0x028 Flags            : 0
+0x02a AlignWord        : 0
0: kd> dt LFS_RECORD_HEADER c11a24e0+58
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x71244a7
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x0
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x0
+0x018 ClientDataLength : 0x30
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 1 ( LfsClientRecord )
+0x024 TransactionId    : 0x40
+0x028 Flags            : 0
+0x02a AlignWord        : 0
0: kd> dt LFS_RECORD_HEADER c11a24e0+58+60
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x71244b3
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x71244a7
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x71244a7
+0x018 ClientDataLength : 0x58
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 1 ( LfsClientRecord )
+0x024 TransactionId    : 0x40
+0x028 Flags            : 0
+0x02a AlignWord        : 0
0: kd> dt LFS_RECORD_HEADER c11a24e0+58+60+88
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x71244c4
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x71244b3
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x71244b3
+0x018 ClientDataLength : 0x38
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 1 ( LfsClientRecord )
+0x024 TransactionId    : 0x40
+0x028 Flags            : 0
+0x02a AlignWord        : 0

0: kd> dt LFS_RECORD_HEADER c11a24e0+58+60+88+68
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x71244d1
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x71244c4
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x71244c4
+0x018 ClientDataLength : 0x58
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 1 ( LfsClientRecord )
+0x024 TransactionId    : 0x40
+0x028 Flags            : 0
+0x02a AlignWord        : 0
0: kd> dt LFS_RECORD_HEADER c11a24e0+58+60+88+68+88
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x71244e2
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x71244d1
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x0
+0x018 ClientDataLength : 0x28
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 1 ( LfsClientRecord )
+0x024 TransactionId    : 0x40
+0x028 Flags            : 0
+0x02a AlignWord        : 0


第六部分:0xe139d008应该是日志文件的一部分内容复制到了系统空间。


[+0x0a0] RestartArea      : 0xe1364f20 [Type: _LFS_RESTART_AREA *]


第四个:
0: kd> dt lbcb 0xe127bc34-4
Ntfs!LBCB
+0x000 NodeTypeCode     : 0n2050
+0x002 NodeByteSize     : 0n96
+0x004 WorkqueLinks     : _LIST_ENTRY [ 0xe1341860 - 0xe1350cec ]
+0x00c ActiveLinks      : _LIST_ENTRY [ 0x0 - 0x0 ]
+0x018 FileOffset       : 0n4096
+0x020 Length           : 0n224
+0x028 SeqNumber        : 0n0
+0x030 BufferOffset     : 0n0
+0x038 PageHeader       : 0xe139d008 Void
+0x03c LogPageBcb       : (null)
+0x040 LastLsn          : _LARGE_INTEGER 0x8124479
+0x048 LastEndLsn       : _LARGE_INTEGER 0x8124479
+0x050 Flags            : 0
+0x054 LbcbFlags        : 0x20
+0x058 ResourceThread   : 0

0: kd> dt lfs_restart_area 0xe139d008
Ntfs!LFS_RESTART_AREA
+0x000 CurrentLsn       : _LARGE_INTEGER 0x8124478
+0x008 LogClients       : 1
+0x00a ClientFreeList   : 0xffff
+0x00c ClientInUseList  : 0
+0x00e Flags            : 0
+0x010 SeqNumberBits    : 0x28
+0x014 RestartAreaLength : 0xe0
+0x016 ClientArrayOffset : 0x40
+0x018 FileSize         : 0n67108864
+0x020 LastLsnDataLength : 0x68
+0x024 RecordHeaderLength : 0x30
+0x026 LogPageDataOffset : 0x40
+0x028 RestartOpenLogCount : 0x85e12261
+0x02c LastFailedFlushStatus : 0
+0x030 LastFailedFlushOffset : 0n0
+0x038 LastFailedFlushLsn : _LARGE_INTEGER 0x0
+0x040 LogClientArray   : [1] _LFS_CLIENT_RECORD

0: kd> dt _LFS_CLIENT_RECORD  0xe139d048
Ntfs!_LFS_CLIENT_RECORD
+0x000 OldestLsn        : _LARGE_INTEGER 0x8124465
+0x008 ClientRestartLsn : _LARGE_INTEGER 0x8124478
+0x010 PrevClient       : 0xffff
+0x012 NextClient       : 0xffff
+0x014 SeqNumber        : 0
+0x016 AlignWord        : 0
+0x018 AlignDWord       : 0
+0x01c ClientNameLength : 8
+0x020 ClientName       : [64] 0x4e

0: kd> ?8*124478
Evaluate expression: 9577408 = 009223c0

0: kd> dt lfs_record_header c11a2000+3c0
Ntfs!LFS_RECORD_HEADER
+0x000 ThisLsn          : _LARGE_INTEGER 0x8124478
+0x008 ClientPreviousLsn : _LARGE_INTEGER 0x0
+0x010 ClientUndoNextLsn : _LARGE_INTEGER 0x0
+0x018 ClientDataLength : 0x68
+0x01c ClientId         : _LFS_CLIENT_ID
+0x020 RecordType       : 2 ( LfsClientRestart )
+0x024 TransactionId    : 0
+0x028 Flags            : 0
+0x02a AlignWord        : 0
0: kd> dt restart_area c11a2000+3c0+30
Ntfs!RESTART_AREA
+0x000 MajorVersion     : 0
+0x004 MinorVersion     : 0
+0x008 StartOfCheckpoint : _LARGE_INTEGER 0x8124465
+0x010 OpenAttributeTableLsn : _LARGE_INTEGER 0x0
+0x018 AttributeNamesLsn : _LARGE_INTEGER 0x0
+0x020 DirtyPageTableLsn : _LARGE_INTEGER 0x0
+0x028 TransactionTableLsn : _LARGE_INTEGER 0x0
+0x030 OpenAttributeTableLength : 0
+0x034 AttributeNamesLength : 0
+0x038 DirtyPageTableLength : 0
+0x03c TransactionTableLength : 0
+0x040 LowestOpenUsn    : 0n0
+0x048 CurrentLsnAtMount : _LARGE_INTEGER 0x8124465
+0x050 BytesPerCluster  : 0x1000
+0x054 Reserved         : 0
+0x058 UsnJournalReference : _MFT_SEGMENT_REFERENCE
+0x060 UsnCacheBias     : 0n0

第七部分:

   +0x008 StartOfCheckpoint : _LARGE_INTEGER 0x8124465


0: kd> ?8*124465
Evaluate expression: 9577256 = 00922328

http://www.dtcms.com/a/276739.html

相关文章:

  • 如何在IEEETrans格式的latex标题页插入图像
  • CCS-MSPM0G3507-4-基础篇-串口通讯-实现收和发
  • Java SE--抽象类和接口
  • 面试150 对称二叉树
  • Waiting for server response 和 Content Download
  • 嵌入式程序调试工具
  • 《人件》阅读笔记
  • 【Flask】基础入门
  • 华为业务变革项目IPD基本知识
  • nodejs获取可用cpu数
  • 前端弹性布局全解析
  • 20250712-2-Kubernetes 应用程序生命周期管理-部署应用的流程_笔记
  • PyVision:基于动态工具的具身智能体
  • 剑指offer——队列栈:用两个栈实现队列
  • 模型驱动的架构MDA的案例
  • 如何配置pip使用国内镜像?
  • 2D转换综合写法顺序,以及注意事项
  • 【理念●体系】模板规范篇:打造可标准化复用的 AI 项目骨架
  • 68 指针的减法操作
  • C语言文件读操作详解:使用fgets函数实现安全的按行读取
  • 在YOLO-World中集成DeformConv、CBAM和Cross-Modal Attention模块的技术报告
  • 进制转换算法详解及应用
  • 红旗新能源车:驾驭梦想,驶向未来
  • TDengine 使用最佳实践(1)
  • 系统性能评估方法深度解析:从经典到现代
  • 【C/C++】编译期计算能力概述
  • 《汇编语言:基于X86处理器》第7章 整数运算(3)
  • Noting
  • L1正则化 VS L2正则化
  • 全连接网络 和卷积神经网络