我需要知道如何获取路径名或dentry
or struct file
来自给定的索引节点。
我正在使用file_open
获得struct file
来自路径名,但总是引起内核恐慌。我需要一种方法来将我的 inode 列表中的 inode 与路径名中的 inode 进行比较,或者比较磁盘中的所有 inode 以找到相应的路径名,然后与我的 inode 列表进行比较。
此示例代码可以在 Linux 内核版本 2.6.xx 中正常运行
struct dentry *sample_dentry = NULL;
struct inode *tmp_inode = &inode_need_to_get;
struct list_head *tmp_list = NULL;
list_for_each(tmp_list, &(tmp_inode->i_dentry))
{
sample_dentry = list_entry(tmp_list, struct dentry, d_alias);
printk(KERN_EMERG, "name of file is %s\n", sample_dentry->d_iname);
}
每个 inode 对象都会有一个或多个 dentry 对象,以防该文件具有硬链接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)