inode 中的 di_next_unlinked 值用于追踪那些已经被解除链接(删除)但仍被程序打开的 inode。当 inode 处于这种状态时,它会被添加到其中一个分配组索引(AGI)的 agi_unlinked 哈希桶中。AGI 未链接桶指向一个 inode,di_next_unlinked 值则指向链中的下一个 inode。链中的最后一个 inode 的 di_next_unlinked ...
XFS_DIFLAG_... */__be32di_gen;/* generation number *//* di_next_unlinked is the only non-core field in the old dinode */__be32di_next_unlinked
2) inode unlink pointer(di_next_unlinked):这个值用于记录那些已经被删除(unlinked)但仍然还被引用的inode。当有这种情况出现时,inode会被添加到AGI的agi_unlinkedhash buckets中,AGI的unlinked bucket指向了一个inode,而这个inode的di_next_unlinked值会指向下一个inode,依次形成一个链表,最后一个inode的di_next_u...
unlinked = self.data.read_int(4) # version 判断, 这里就略了.. self.uuid = self.data.read(16).hex() self.crc = self.data.read_int(4) self.pad32 = self.data.read_int(4) self.lsn = self.data.read_int(8) def get_instance_attr(aa): return {attr: getattr(aa, attr) for ...
__be32 agi_unlinked[64]; } xfs_agi_t; 核心成员如下: agi_root:inode B+树的根block; agi_level:树高; agi_count:已构造的inode数目; agi_freecount:空闲的inode数目。 xfs_db输入agi可读取到Inode B+树信息,如下图所示: 由上图可知B+树的根block为root=3,跟踪该block便可找到具体的inode数据。
__be32 agi_unlinked[64];} xfs_agi_t; 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 核心成员如下: agi_root:inode B+树的根block; agi_level:树高; agi_count:已构造的inode数目; agi_freecount:空闲的inode数目。 xfs_db输入agi可读取到Inode B+树信息,如下图所示: 由上图可知B...
__be32 agi_unlinked[64]; } xfs_agi_t; 核心成员如下: agi_root:inode B+树的根block; agi_level:树高; agi_count:已构造的inode数目; agi_freecount:空闲的inode数目。 xfs_db输入agi可读取到Inode B+树信息,如下图所示: 由上图可知B+树的根block为root=3,跟踪该block便可找到具体的inode数据。
- found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 - agno = 1 ... - process newly discovered inodes... Phase 4 - check for duplicate blocks......
root@kerneltalks# xfs_repair-n/dev/xvdfPhase1-find and verify superblock...Phase2-usinginternallog-zero log...-scan filesystem freespace and inode maps...-found root inode chunkPhase3-foreachAG...-scan (but don't clear) agi unlinked lists...-process known inodes and perform inode disco...
- found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 - agno = 1 - agno = 2 - agno = 3 - process newly discovered inodes... ...