可分区块设备驱动开发指南
1. gendisk 结构体字段解析
在块设备驱动开发中, gendisk 结构体起着关键作用,以下是其部分重要字段的详细解释:
| 字段名 | 描述 |
| ---- | ---- |
| int max_p | 最大分区数。在示例中, max_p 为 16,通常为 1 << minor_shift 。 |
| struct hd_struct *part | 设备的解码分区表。驱动使用该字段确定通过每个次设备号可访问的磁盘扇区范围。驱动负责该数组的分配和释放,多数驱动将其实现为 max_nr << minor_shift 个结构体的静态数组,且在分区表解码前需初始化为零。 |
| int *sizes | 整数数组,与全局 blk_size 数组信息相同,通常为同一数组。驱动负责其分配和释放。设备分区检查会将该指针复制到 blk_size ,处理可分区设备的驱动无需再分配 blk_size 数组。 |
| int nr_real | 实际存在的设备(单元)数量。 |
| void *real_devices | 驱动可用于保存额外所需信息的私有区域。 |
| struct gendisk *next |
超级会员免费看
订阅专栏 解锁全文
258

被折叠的 条评论
为什么被折叠?



