procfs中的read_proc_t和file_operations

nre*_*rek 1 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函数的实现会发生什么?哪个优先于另一个?一个人可以被另一个人覆盖吗?非常感谢.

Ale*_*lko 6

注册proc-entry时,proc_register()检查是否指定proc_fops.如果不这样做,它将为procfs设置默认文件操作.默认操作调用你的proc_readproc_write.所以,如果你指定proc_fops自己,proc_read并且proc_write成员将不会被调用.

在Linux的3.10有没有这样的事情write_proc_tread_proc_t.proc_dir_entry没有会员read_procwrite_proc.相反,只proc_fops使用.