Ext2 / 3:块类型说明:IND vs DIND vs TIND

时间:2018-09-12 02:51:32

标签: linux ext4 ext3 ext2

我在一些地方看到了对“ 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块的原因。

我发狂地看了看,但是对此主题没有任何明显的讨论或评论,这将花费我更多时间从代码中找出答案。

1 个答案:

答案 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  */
  • NDIR 是直接阻止的数量。
  • IND 是单个间接阻止。
  • DIND 是双重间接阻止。
  • TIND 是三级间接屏蔽
  • N 是块总数。