get filesystem mount point in kernel module

后端 未结 2 498
[愿得一人]
[愿得一人] 2021-01-19 05:51

I want to get the filesystem mount point for a file system in my kernel module, which is a stackable filesystem. Eg. if /home/ab/abc is a file and /home is mounted on a diff

2条回答
  •  庸人自扰
    2021-01-19 06:51

    You can get the list of file systems from current->namespace. By iterating current->namespace->list (items being struct vfsmount) you can get all mounted file systems. vfsmount->mnt_mountpoint is the directory entry you want.

    You can follow the code that prints /proc/mounts (e.g. base.c/mountstats_open, namespace.c/m_start) to get more details (e.g. some locking is needed).

    I don't know if you can do it in a kernel module, however.

提交回复
热议问题