我期待着编写一个独立的用户空间程序,它利用了 ext4 内核模块中定义的一些函数,例如:
struct ext4_group_desc * ext4_get_group_desc(struct super_block * sb,
ext4_group_t block_group,
struct buffer_head ** bh);
我提供了这个特定的函数名称作为示例,但我应该能够调用任何 ext4 模块的函数。
问题:
为了编译我需要什么头文件?是否有用于用户空间的 ext4 库?
假设我在
/dev/sda5
上有一个 ext4 文件系统并且我想使用 block 组号 23,如何正确初始化要传递给的变量ext4_get_group_desc
?具体如何获取 super block ?
谢谢
最佳答案
你不能这样做。一般来说,内核代码只能被其他内核代码直接调用(主要的异常(exception)是系统调用)。该函数不属于任何异常(exception)情况。
关于编译独立的 ext4 用户空间程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58368380/