【发布时间】:2019-02-23 06:21:22
【问题描述】:
有没有办法用 linux 内核模块挂载 linux 文件系统(ext4、ext3 或 btrfs)?
我想写内核模块可以挂载文件系统,但不能在模块源代码中使用<sys/mount.h>,因为这是用户空间头。
注意:我使用了带有内置 ext4、btrfs 文件系统的定制内核(不是模块化的)。
【问题讨论】:
标签: c linux linux-kernel
有没有办法用 linux 内核模块挂载 linux 文件系统(ext4、ext3 或 btrfs)?
我想写内核模块可以挂载文件系统,但不能在模块源代码中使用<sys/mount.h>,因为这是用户空间头。
注意:我使用了带有内置 ext4、btrfs 文件系统的定制内核(不是模块化的)。
【问题讨论】:
标签: c linux linux-kernel
<sys/mount.h> 是用户空间头文件,不能用于内核模块。
用于挂载文件系统的内核 API 是 ksys_mount() 或 do_mount(),但不会导出到模块。如果你真的想从内核模块挂载(并且修改内核不是你的选择),那么你将不得不在你的代码中复制 ksys_mount() 路径。
【讨论】: