static struct fuse_oprations hello_oper = {
.getattr = hello_getattr,
.readdir = hello_readdir,
.open = hello_open,
.read = hello_read,
};
Run Code Online (Sandbox Code Playgroud)
我不太了解这个C语法.我甚至无法搜索,因为我不知道语法的名称.那是什么?
我正在开发一个使用unlocked_ioctl的内核模块.我用内核版本2.6.24-23-generic测试了它,它运行得很好.现在我尝试使用内核版本3.3.1-1-ARCH并且发生了一些奇怪的事情:当请求值(cmd)为2时,不会执行ioctl函数.它返回0,但函数未执行.为了检查它是否未执行,我执行了以下操作:
static long midriver_ioctl(struct file *file,
unsigned int cmd, unsigned long arg) {
printk("Called with cmd = %d\n", cmd);
Run Code Online (Sandbox Code Playgroud)
我写了一个测试程序,从0到4096调用此设备的ioctl,我可以在dmesg中看到所有这些值的消息"用cmd = n调用",除了"2",唯一没有显示的值.
关于我做错了什么的线索?
先感谢您,