【问题标题】:Ext2/3: Block Type Clarification: IND vs DIND vs TINDExt2/3:块类型说明:IND vs DIND vs TIND
【发布时间】:2019-02-16 14:24:33
【问题描述】:

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

我狂热地看了看,但没有任何关于这个主题的明显讨论或 cmet,我需要更多时间从代码中弄清楚。

【问题讨论】:

    标签: linux ext4 ext3 ext2


    【解决方案1】:
    #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 是块的总数。

    【讨论】:

    • 你有这个参考吗?
    • 查看ext2的文档
    • 如果我能够在文档或源代码中找到它,我就不会发布这个问题了。如果您确切知道它在哪里,如果您能分享它,那就太好了。谢谢,不管怎样。
    • 我能问一下你到底需要 ext2/3/4 什么,你是在发明一个新的操作系统还是从 Windows 实现一个驱动程序或什么?
    • 几个月前写的,现在。我无法协调这些参数的含义:github.com/dsoprea/go-ext4
    猜你喜欢
    • 2017-10-25
    • 2014-09-02
    • 1970-01-01
    • 2016-08-02
    • 2017-08-16
    • 1970-01-01
    • 2015-08-05
    • 2022-01-08
    相关资源
    最近更新 更多