还记得在上一章中,我们提到过的结构体struct ext4_extent_idx
。这个结构体表示在extent tree中的节点。 我们在前面的章节已经阐述过,ext4使用extent取代了传统的block映射方式。我们的案例中只展示了只有一个extent的情况。本篇文章将介绍多个extent情况下的具体细节。
在本文中,我们选取了文件/var/log/messages,它是系统日志的记录文件,由于它的角色特殊,时间长了会造成给很多的碎片。我们还是先看看他的inode,方法和(一)中描述的一致,在此不重复了。
0000c00: 8081 0000 d036 0000 814b ee50 7f4b ee50 .....6...K.P.K.P 0000c10: 7f4b ee50 0000 0000 0000 0100 2000 0000 .K.P........ ... 0000c20: 0000 0800 0100 00000af3 0400 0400 0000 ................ 0000c30: 0000 0000 0000 0000 0100 0000 58c2 0b00 ............X... 0000c40: 0100 0000 0100 0000 e599 1b00 0200 0000 ................ 0000c50: 0100 0000 41e6 2f00 0300 0000 0100 0000 ....A./......... 0000c60: b878 1c00 275f ea72 0000 0000 0000 0000 .x..'_.r........ 0000c70: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000c80: 1c00 0000 c018 94d1 c018 94d1 c0e5 ea86 ................ 0000c90: 9bea e850 d0a4 fcb4 0000 0000 0000 02ea ...P............ 0000ca0: 0706 4000 0000 0000 1f00 0000 0000 0000 ..@............. 0000cb0: 7365 6c69 6e75 7800 0000 0000 0000 0000 selinux......... 0000cc0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000cd0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000ce0: 7379 7374 656d 5f75 3a6f 626a 6563 745f system_u:object_ 0000cf0: 723a 7661 725f 6c6f 675f 743a 7330 0000 r:var_log_t:s0..
|
从0x0af3开始,这是extent header
起始的标记,我们还是像(一)那样,对照着表看
偏移 |
大小 |