关于linux内核中的文件操作

时间:2014-01-24 04:06:36

标签: c linux-kernel vfs

我对如何在linux内核

中定义struct文件中的file_operations有疑问

vfs_read()来电

ret = file->f_op->read(file, buf, count, pos);

我知道这个读取是一个函数指针,它在一些驱动程序代码中定义,但有没有办法找到它实际定义的位置?

1 个答案:

答案 0 :(得分:1)

VFS是“虚拟文件系统”。它是对底层文件系统细节的抽象,当然这有很大不同。

f_op是一组file_operations,取决于file正在使用的文件系统。

例如,查看ext2_file_operations,其中ext2文件系统向内核公开,该内核用于其文件操作。

如果您想了解更多信息,请在fs/目录中查找对struct file_operations的引用。