将磁盘上的 inode 读取到内存中

发布于 2024-10-17 04:25:20 字数 328 浏览 9 评论 0原文

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

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

谢谢!

I believe there are two types of inodes - on-disk and in-core inode ('struct inode' in fs.h). An on-disk inode is based on filesystem implementation. I am trying to understand the underlying concept and have a few questions -

  • Can someone point me to the code (or walk through the steps) where the on-disk inode is read/copied to the in-core inode? i.e., when in-core inode is created it has to be from an on-disk inode. So, how does this happen?
  • Why doesn't the in-core inode store a pointer to the on-disk inode?
  • If there is a modification to the in-core inode then how is it propagated to the on-disk inode? Any pointers to the code or code-flow would be helpful.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沧笙踏歌 2024-10-24 04:25:20

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

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

In core inode is getting copied from disk inode in algorithm ialloc after allocating a free inode for the newly assigned disk inode using algorithm iget.

Kernel set flags to indicate discrepancies between the disk inode and in-core copy.When Kernel need to record changes to the file or to the inode, it writes the in-core copy of the inode to the disk after examining these flags.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文