编译独立的 ext4 用户空间程序

标签 c ext4

我期待着编写一个独立的用户空间程序,它利用了 ext4 内核模块中定义的一些函数,例如:

struct ext4_group_desc * ext4_get_group_desc(struct super_block * sb,
                            ext4_group_t block_group,
                            struct buffer_head ** bh);

我提供了这个特定的函数名称作为示例,但我应该能够调用任何 ext4 模块的函数。

问题:

  1. 为了编译我需要什么头文件?是否有用于用户空间的 ext4 库?

  2. 假设我在 /dev/sda5 上有一个 ext4 文件系统并且我想使用 block 组号 23,如何正确初始化要传递给 的变量ext4_get_group_desc?具体如何获取 super block ?

谢谢

最佳答案

你不能这样做。一般来说,内核代码只能被其他内核代码直接调用(主要的异常(exception)是系统调用)。该函数不属于任何异常(exception)情况。

关于编译独立的 ext4 用户空间程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58368380/

相关文章:

c - madvise(DODUMP) 在与成功的 madvise(DONTDUMP) 相同的 ptr/size 上失败并返回 EINVAL

c - 序列化其中包含 union 和结构的结构

c - sqlite3 中查询问题之间的日期

ios - Objective-C 中计算 float 的奇怪值

linux - 在 Linux 中存储和访问多达 1000 万个文件

migration - 如何将现有的 20.04 ext4 安装迁移到不同磁盘上的 zfs root?

c - 存储一个数字,这样它就不会在循环的下一次迭代中被重新定义

ubuntu - EC2 实例、装载卷 DOS/MBR 引导扇区

linux - 磁盘 : Is it possible to process an arbitrary list of files in a seek-optimized manner? 上的 Ext4

c - JBD2 上下文中的 BJ_Shadow 是什么?