c - 使用内核模块挂载文件系统

标签 c linux linux-kernel

有什么方法可以使用 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/

相关文章:

linux - mmap() 熵的 ASLR 位

c - 如何杀死内核模块中的等待队列?

linux - FAT : Directory bread error causes a kernel crash and reboot system

C编程中的编译器错误 "void value not ignored as it ought to be"

c - 如何计算函数中的行数

c - 如何使用c技能在文件中搜索模式?或者如何从 c 文件中在线读取行?

linux - jinja2.exceptions.TemplateSyntaxError : expected token ',' , 得到 'integer' (支持十六进制、八进制和二进制整数文字)

c - C程序中退出循环并终止程序

java - LWJGL 不会读取键盘输入

linux - 在 linux 中使用 'sed' 时出现额外字符错误