【发布时间】:2010-12-17 02:40:06
【问题描述】:
在 linux 内核模块(即在内核空间中工作)中,我有一个文件的路径。
可以使用哪些函数来获取该文件的 inode。具体来说,我需要让“inode *”指向文件的 inode。
【问题讨论】:
标签: linux linux-kernel inode
在 linux 内核模块(即在内核空间中工作)中,我有一个文件的路径。
可以使用哪些函数来获取该文件的 inode。具体来说,我需要让“inode *”指向文件的 inode。
【问题讨论】:
标签: linux linux-kernel inode
根据我在内核方面的经验,我建议您始终使用像 path_lookup 这样的顶级函数,而不是中间的函数。
【讨论】:
您不必打开文件。内核中提供了一个查找函数,可将char *name 转换为struct nameidata。请参考path_lookup。
您可能还想看看路径解析算法的工作原理,here。
【讨论】:
你可以使用filp_open函数,但是正如函数注释中所说,在内核模块中打开文件不是你想做的事情。
这是一个function,它将为您的路径返回struct file。从那里我想你可以去 inode
奖励:可能这不是您打算做的,但这里是an article 从内核读取/写入文件,以及您不想这样做的原因。
【讨论】: