是否可以通过Linux内核模块挂载linux文件系统(ext4,ext3或btrfs)?
我想写内核模块可以挂载文件系统,但是不能在模块源代码中使用<sys/mount.h>
,因为这是用户空间标头。
注意:我使用带有内置ext4,btrfs文件系统的自定义内核(未模块化)。
答案 0 :(得分:0)
<sys/mount.h>
是用户空间标头,您不能将其用于内核模块。
用于装载文件系统的内核API为ksys_mount()
或do_mount()
,但未导出到模块。如果您真的想从内核模块挂载(并且修改内核不是您的选择),那么您将不得不在代码中复制ksys_mount()路径。