群集链是否以0或1结束?

时间:2018-02-24 18:51:02

标签: fat32

在我研究制作FAT32的正式模型的过程中,我遇到了一个实现细节,这使得我的工作变得非常复杂:在集群链的末尾允许出现什么值?

根据Microsoft's specification,“FAT中的自由群集列表只不过是包含值0的所有群集的列表 在其FAT簇条目中。“,其中一个推论是0不能是簇链末尾的值,只有EOC可以存在。但是,Wikipedia states”否则,如果此值出现在簇链中(例如,在零长度或已删除文件的目录条目中),文件系统实现应将其视为链终止标记。“对于0,引用此声明为一本不起眼的德语书。

所以我真的想问一下使用文件系统的人,他们是否认为0(和1)是实现中有效的集群链标记。

更新:我检查了FAT32的Linux内核实现,而function for counting free clusters似乎将所有零都计为免费群集,不多也不少。

1 个答案:

答案 0 :(得分:0)

对Linux FAT32代码的进一步检查表明,以0结尾的集群链是considered invalid clusterchains并导致返回值为-EIO。