我正在研究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函数的实现会发生什么?哪个优先于另一个?一个人可以被另一个人覆盖吗?非常感谢。
答案 0 :(得分:6)
当您注册proc-entry时,proc_register()
会检查您是否指定了proc_fops
。如果不这样做,它将为procfs设置默认文件操作。默认操作会调用proc_read
和proc_write
。因此,如果您自己指定proc_fops
,则不会调用proc_read
和proc_write
成员。
在linux-3.10中,没有write_proc_t
和read_proc_t
这样的东西。 proc_dir_entry
没有成员read_proc
和write_proc
。相反,仅使用proc_fops
。