2011-02-13 47 views
1

我为debugfs_create_file_N(...)使用了哪些标志?我能找到的所有资源基本上都是“适当地设置它们”。Debugfs文件模式标志?

我试过777,MAY_WRITE | MAY_READ和FMODE_WRITE | FMODE_READ;但到目前为止,抓取文件只给了我一个'0'。

回答

4

难道你没有听到,“777几乎总是错”:-) MAY_*FMODE_*也不是文件模式,但内部标志和文件状态。

更好:

debugfs_create_file(..., S_ISREG | S_IRUGO | S_IWUSR, ...); 
+0

是的,由于缺乏文档,我们大多在黑暗中摸索。我在哪里可以找到关于如何解释S_ *的文档? – mamidon 2011-02-13 20:33:55

2

对于世界可读的文件,使用S_IRUGO

[email protected]:~> ls -l /sys/kernel/debug/spc0/registers 
-r--r--r-- 1 root root 0 Feb 14 2011 /sys/kernel/debug/spc0/registers 

内部,这台S_IRUSR|S_IRGRP|S_IROTH这组的读取方式为用户,组和其他。有关其他宏定义,请参阅内核中的include/stat.h