2014-01-24 67 views
0

我有一个问题是如何在结构文件的file_operations Linux内核定义关于Linux内核

vfs_read()电话

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

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

+0

请看看http://stackoverflow.com/questions/4653100/struct-file-in-linux-driver –

+1

它取决于该文件所在的文件系统类型。 –

+0

它是函数指针,它指向一个函数,该函数在一些驱动代码“ –

回答

1

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

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

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

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

+0

”中定义,谢谢。我找到了。它在此处定义为http://lxr.free-electrons.com/source/fs/read_write.c?v=3.1;a=arm#L322 – jiawen