Linux 将磁盘上的索引节点读取到内存中
我相信有两种类型的索引节点——磁盘上的索引节点和核心索引节点(fs.h中的struct inode)。磁盘inode基于文件系统实现。我试图理解基本概念,并有几个问题-Linux 将磁盘上的索引节点读取到内存中,linux,filesystems,inode,vfs,Linux,Filesystems,Inode,Vfs,我相信有两种类型的索引节点——磁盘上的索引节点和核心索引节点(fs.h中的struct inode)。磁盘inode基于文件系统实现。我试图理解基本概念,并有几个问题- 有人能告诉我磁盘上的inode被读取/复制到核心内inode的代码(或遍历步骤)吗?i、 例如,创建核心内索引节点时,它必须来自磁盘上的索引节点。那么,这是怎么发生的呢 为什么核心索引节点不存储指向磁盘索引节点的指针 如果对核心内inode进行了修改,那么如何将其传播到磁盘内inode?任何指向代码或代码流的指针都会很有帮助
- 有人能告诉我磁盘上的inode被读取/复制到核心内inode的代码(或遍历步骤)吗?i、 例如,创建核心内索引节点时,它必须来自磁盘上的索引节点。那么,这是怎么发生的呢
- 为什么核心索引节点不存储指向磁盘索引节点的指针
- 如果对核心内inode进行了修改,那么如何将其传播到磁盘内inode?任何指向代码或代码流的指针都会很有帮助
谢谢 在使用算法iget为新分配的磁盘inode分配空闲inode后,核心inode从算法ialloc中的磁盘inode复制 内核设置标志以指示磁盘inode和内核内副本之间的差异。当内核需要记录对文件或inode的更改时,它会在检查这些标志后将inode的内核内副本写入磁盘