Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 将磁盘上的索引节点读取到内存中_Linux_Filesystems_Inode_Vfs - Fatal编程技术网

Linux 将磁盘上的索引节点读取到内存中

Linux 将磁盘上的索引节点读取到内存中,linux,filesystems,inode,vfs,Linux,Filesystems,Inode,Vfs,我相信有两种类型的索引节点——磁盘上的索引节点和核心索引节点(fs.h中的struct inode)。磁盘inode基于文件系统实现。我试图理解基本概念,并有几个问题- 有人能告诉我磁盘上的inode被读取/复制到核心内inode的代码(或遍历步骤)吗?i、 例如,创建核心内索引节点时,它必须来自磁盘上的索引节点。那么,这是怎么发生的呢 为什么核心索引节点不存储指向磁盘索引节点的指针 如果对核心内inode进行了修改,那么如何将其传播到磁盘内inode?任何指向代码或代码流的指针都会很有帮助

我相信有两种类型的索引节点——磁盘上的索引节点和核心索引节点(fs.h中的struct inode)。磁盘inode基于文件系统实现。我试图理解基本概念,并有几个问题-

  • 有人能告诉我磁盘上的inode被读取/复制到核心内inode的代码(或遍历步骤)吗?i、 例如,创建核心内索引节点时,它必须来自磁盘上的索引节点。那么,这是怎么发生的呢
  • 为什么核心索引节点不存储指向磁盘索引节点的指针
  • 如果对核心内inode进行了修改,那么如何将其传播到磁盘内inode?任何指向代码或代码流的指针都会很有帮助

谢谢

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

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