procfs中的read_proc_t和file_operations

时间:2013-07-21 09:00:10

标签: linux-kernel procfs

我正在研究proc文件系统。我现在知道,在读取校样文件时会调用read_proc_t函数,因此在写入校样文件时会调用write_proc_t函数。但我也在proc_dir_entry的定义中找到了file_operaitons *字段,这个示例代码(http://linux.die.net/lkmpg/x810.html)。

所以我很困惑,如果我在file_operations结构中同时提供read_proc_t函数和read函数的实现会发生什么?哪个优先于另一个?一个人可以被另一个人覆盖吗?非常感谢。

1 个答案:

答案 0 :(得分:6)

当您注册proc-entry时,proc_register()会检查您是否指定了proc_fops。如果不这样做,它将为procfs设置默认文件操作。默认操作会调用proc_readproc_write。因此,如果您自己指定proc_fops,则不会调用proc_readproc_write成员。

在linux-3.10中,没有write_proc_tread_proc_t这样的东西。 proc_dir_entry没有成员read_procwrite_proc。相反,仅使用proc_fops