将磁盘上的inode读入内存中

时间:2011-02-11 18:54:35

标签: linux filesystems inode vfs

我相信有两种类型的inode - 磁盘上和in-core inode(fs.h中的'struct inode')。磁盘上的inode基于文件系统实现。我试图了解潜在的概念并提出一些问题 -

  • 有人能指出我的代码(或完成步骤),其中磁盘上的inode被读取/复制到内核中的inode?即,当创建in-core inode时,它必须来自磁盘上的inode。那么,这是怎么发生的呢?
  • 为什么内核inode不存储指向磁盘上inode的指针?
  • 如果对内核inode进行了修改,那么它是如何传播到磁盘上的inode的呢?任何指向代码或代码流的指针都会有所帮助。

谢谢!

1 个答案:

答案 0 :(得分:2)

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

内核设置标志,用于指示磁盘inode和内核副本之间的差异。当内核需要记录对文件或inode的更改时,它会在检查这些标志后将inode的in-core副本写入磁盘