求教vfs_readdir的问题
- C/C++ code
int vfs_readdir(struct file *file, filldir_t filler, void *buf){ struct inode *inode = file->f_path.dentry->d_inode; int res = -ENOTDIR; if (!file->f_op || !file->f_op->readdir) goto out; res = security_file_permission(file, MAY_READ); if (res) goto out; res = mutex_lock_killable(&inode->i_mutex); if (res) goto out; res = -ENOENT; if (!IS_DEADDIR(inode)) { res = file->f_op->readdir(file, buf, filler); file_accessed(file); } mutex_unlock(&inode->i_mutex);out: return res;}EXPORT_SYMBOL(vfs_readdir);vfs_readdir是导出函数。但是这个vfs_readdir函数导出在哪个内核模块当中还是什么共享文件中呢。如何获取当前系统vfs_readdir函数的地址呀。
谢谢大家。
[解决办法]
直接extern 声明,然后编译就好了,加载的时候内核自动帮你链接到正确的那个的。