在Linux文件系统驱动程序中动态创建新文件

gmxoilav  于 2022-12-11  发布在  Linux
关注(0)|答案(1)|浏览(126)

我正在开发一个Linux文件系统驱动程序,我已经掌握了生成超级块、创建inode和dentry以及使它们处理读写的诀窍。
现在,我希望驱动程序能够动态地向用户呈现新文件。基本上,我的问题是:我该怎么做?
举个愚蠢的例子,每次用户读取一个文件时,我们都会创建一个新文件。直觉上,我只想创建一个新的inode和dentry,并将它们链接在一起。这里的问题是,在我的文件阅读回调函数中,我没有访问超级块的权限(我认为),这意味着我不能创建一个新的inode。
我不会发布我的驱动程序的代码,因为它太长了,甚至创建一个最小的例子,但为了一个一般的概述:file_system_type结构体的mount函数调用mount_nodev,然后在我的函数中填充超级块,我设置根目录并创建一个名为“file1”的文件。
提前感谢:)

svgewumm

svgewumm1#

根据@Tsyvarev的注解中的信息,我确实可以以与第一次设置文件系统时完全相同的方式动态创建文件,从struct file*的链接inode中获取超级块!

相关问题