我在几个地方看到了对"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 块。
我已经狂热地看了,但没有任何关于这个主题的明显讨论或评论,我需要更多时间才能从代码中弄清楚。
#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 */
- NDIR是直接块的数量。
- IND是单个间接块。
- DIND是双重间接块。
- TIND是三重间接块
- N是块的总数。