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 different filesystem I want to have a dentry or path struct to /home.
I want to do this in a module without modifying kernel code.
e.g. there is a file in /home/user/ and now I want to know in which partition this file is. For example this file might be in the partition same as “/” or this file might be in another partition mounted on /home or /home/user.
I want to get the filesystem mount point for a file system in my
Share
You can get the list of file systems from
current->namespace. By iteratingcurrent->namespace->list(items beingstruct vfsmount) you can get all mounted file systems.vfsmount->mnt_mountpointis 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.