当前位置: 技术问答>linux和unix
求教vfs_readdir的问题
来源: 互联网 发布时间:2016-12-10
本文导语: 本帖最后由 yuanbuji 于 2011-06-26 18:19:32 编辑 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_permi...
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 声明,然后编译就好了,加载的时候内核自动帮你链接到正确的那个的。