加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 在内核模块中获取文件系统挂载点

发布时间:2020-12-14 00:34:20 所属栏目:Linux 来源:网络整理
导读:我想在我的内核模块中获取文件系统的文件系统挂载点,这是一个可堆叠的文件系统. 例如.如果/ home / ab / abc是一个文件,并且/ home安装在不同的文件系统上,我想要一个dentry或path结构到/ home. 我想在模块中执行此操作而不修改内核代码. 例如/ home / user
我想在我的内核模块中获取文件系统的文件系统挂载点,这是一个可堆叠的文件系统.
例如.如果/ home / ab / abc是一个文件,并且/ home安装在不同的文件系统上,我想要一个dentry或path结构到/ home.
我想在模块中执行此操作而不修改内核代码.
例如/ home / user /中有一个文件,现在我想知道这个文件在哪个分区.例如,此文件可能位于与“/”相同的分区中,或者此文件可能位于/ home或/ home / user上的另一个分区中.

解决方法

您可以从current->命名空间获取文件系统列表.通过迭代current-> namespace->列表(项目为struct vfsmount),您可以获取所有已安装的文件系统. vfsmount-> mnt_mountpoint是您想要的目录条目.

您可以按照打印/ proc / mounts的代码(例如base.c / mountstats_open,namespace.c / m_start)来获取更多详细信息(例如需要一些锁定).

但是,我不知道你是否可以在内核模块中执行此操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读