有什么方法可以使用 linux 内核模块挂载 linux 文件系统(ext4、ext3 或 btrfs)?
我想写内核模块可以挂载文件系统,但不能使用 <sys/mount.h>
在模块源代码中,因为这是用户空间 header 。
注意:我使用带有内置 ext4、btrfs 文件系统(未模块化)的自定义内核。
最佳答案
<sys/mount.h>
是用户空间头文件,不能用于内核模块。
挂载文件系统的内核 API 是 ksys_mount()
或 do_mount()
但这不会导出到模块。如果您真的想从内核模块挂载(并且修改内核不是您的选择),那么您将不得不在代码中复制 ksys_mount() 路径。
关于c - 使用内核模块挂载文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54838837/