gpt4 book ai didi

linux - VFS 如何知道要调用哪些底层文件系统函数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:53:07 27 4
gpt4 key购买 nike

当我们在 linux 终端上发出命令时。由此创建的进程遍历到 VFS 层,在那里它决定调用哪个文件系统函数,如 ext4、ext3 或任何其他文件系统。所以我的问题是 VFS 如何区分文件系统?从 VFS 获取文件系统信息的地方,是 task_struct 中的 fs_struct 告诉 VFS 吗?

最佳答案

作为 FS 实现的一部分,您需要实现文件、inode、 super block 操作,这将向 VFS 层注册底层 FS 操作(例如:ext3_open())。根据提供给 open() 的文件路径,VFS 将调用系统调用的适当文件系统特定实现。

假设你已经挂载了一个文件系统,当你挂载一个文件系统时,你在模块初始化期间向 VFS 层注册你的 FS 以进行特定操作。在此步骤中,两个处理程序 get_sb() 和 kill_sb()。 get_sb() 在挂载文件系统时被调用。 kill_sb() 在卸载文件系统时被调用。

有关更多信息,请参阅 RKFS并查看文件操作是如何与数据流图一起实现的。

关于linux - VFS 如何知道要调用哪些底层文件系统函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26229268/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com