我在一些地方看到了对“ IND”,“ DIND”和“ TIND”块类型的引用,而代码中的定义非常简洁:
(https://github.com/torvalds/linux/blob/master/fs/ext4/ext4.h#L362)
#define EXT4_NDIR_BLOCKS 12
#define EXT4_IND_BLOCK EXT4_NDIR_BLOCKS
#define EXT4_DIND_BLOCK (EXT4_IND_BLOCK + 1)
#define EXT4_TIND_BLOCK (EXT4_DIND_BLOCK + 1)
#define EXT4_N_BLOCKS (EXT4_TIND_BLOCK + 1)
有人可以澄清它们是什么,以及潜在地解释为什么定义暗示TIND块包含DIND,而DIND块包含IND块的原因。
我发狂地看了看,但是对此主题没有任何明显的讨论或评论,这将花费我更多时间从代码中找出答案。
答案 0 :(得分:2)
#define EXT4_NDIR_BLOCKS /* number of direct blocks */
#define EXT4_IND_BLOCK /* single indirect block */
#define EXT4_DIND_BLOCK /* double indirect block */
#define EXT4_TIND_BLOCK /* trible indirect block */
#define EXT4_N_BLOCKS /* total number of blocks */