代码之家  ›  专栏  ›  技术社区  ›  hayalci

在Linux内核模块中,如何获取已知路径的inode

  •  4
  • hayalci  · 技术社区  · 15 年前

    在Linux中 内核模块 (即在内核空间中工作),我有一个文件的路径。

    哪个函数可用于获取该文件的inode。具体来说,我需要让“inode*”指向文件的inode。

    3 回复  |  直到 15 年前
        1
  •  5
  •   Vinit Dhatrak    15 年前

    你不必打开文件。内核中有一个查找函数,它可以转换 char *name struct nameidata . 请参考 path_lookup .

    您可能还想看看路径解析算法是如何工作的, here .

        2
  •  1
  •   shodanex    15 年前

    你可以使用 filp_open 函数,但正如函数注释中所述,在内核模块中打开文件不是您想要做的事情。

    这里是一个 function 这将返回 struct file 为了你的道路。从那里我想你可以去井上

    奖金:也许这不是你想做的,但这里是 an article 从内核读/写文件,以及为什么不想这样做。

        3
  •  1
  •   Boolean    15 年前

    基于我在内核方面的经验,我建议您总是使用诸如路径查找之类的顶级函数,而不是中间的函数。