42、可分区块设备驱动开发全解析

可分区块设备驱动开发全解析

1. gendisk 结构体成员解析

在块设备驱动开发中, gendisk 结构体起着关键作用,它包含了许多重要的成员变量,用于描述和管理块设备。以下是对其主要成员的详细解释:
| 成员 | 描述 |
| ---- | ---- |
| int max_p | 最大分区数,通常为 1 << minor_shift 。例如在示例中, max_p 为 16。 |
| struct hd_struct *part | 设备的解码分区表,驱动使用该成员确定通过每个次设备号可访问的磁盘扇区范围。驱动负责该数组的分配和释放,多数驱动将其实现为 max_nr << minor_shift 个结构体的静态数组,且在分区表解码前需初始化为零。 |
| int *sizes | 整数数组,包含与全局 blk_size 数组相同的信息,通常二者为同一数组。驱动负责该数组的分配和释放,设备分区检查会将此指针复制到 blk_size ,因此处理可分区设备的驱动无需单独分配 blk_size 数组。 |
| int nr_real | 实际存在的设备(单元)数量。 |
| void *real_devices | 驱动可用于存储额外信息的私有区域。 |
|

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值