在文件创建过程中,Linux 内核如何找到未使用的 inode?

在文件创建过程中,Linux 内核如何找到未使用的 inode?

它是否会遍历所有索引节点,直到遇到第一个未使用的索引节点?或者它有某种机制可以快速查找未使用的索引节点?是否有执行此操作的通用标准或只是特定的实现。

答案1

这是特定于实现的,没有标准。每个文件系统(xfs等等ext3/4)都有自己的分配新索引节点的实现。

几个例子:

  • xfs维持一个自由 inode btree跟踪空闲索引节点。
  • ext4有一个特定的块和索引节点分配策略其中数据跨多个块组维护,每个块组都有自己的空闲索引节点表。新的索引节点是根据一些块策略分配的。

相关内容