读取磁盘inode到内存中

我相信有两种types的inode – 磁盘和in-core inode(fs.h中的'struct inode')。 磁盘inode基于文件系统实现。 我想了解底层的概念,并有几个问题 –

  • 有人可以指向我的代码(或步行通过步骤)的磁盘索引节点被读取/复制到内核索引节点? 即在创buildin-core inode时,它必须来自磁盘inode。 那么,这是怎么发生的呢?
  • 为什么in-core inode不存储指向磁盘inode的指针?
  • 如果对in-core inode进行了修改,那么它是如何传播到磁盘inode? 任何指向代码或代码stream的指针都会有所帮助。

谢谢!

在使用算法iget为新分配的磁盘inode分配一个空闲inode之后,核心inode将从算法ialloc中的磁盘inode中复制。

内核设置标志指示磁盘inode和内核拷贝之间的差异。当内核需要记录文件或inode的变化时,在检查这些标志之后,它将inode的in-core拷贝写入磁盘。