在Linux内核中,struct gendisk
代表通用块设备。 它是用于管理和表示块设备
的基本数据结构,例如硬盘驱动器、固态驱动器和其他存储设备。
struct gendisk 包含各种字段和指针,提供与块设备相关的信息和操作。 struct gendisk 结构的一些重要字段和成员包括:
struct request_queue *queue:指向与块设备关联的请求队列
的指针。 请求队列管理设备的 I/O 请求。
fmode_t exclusive_holder:指定块设备的独占持有者。 它用于防止对设备的并发访问。
struct block_device_operations *fops:指向包含块设备操作(例如读、写、打开和释放)的结构的指针。
struct block_device *private_data:指向与块设备关联的私有数据。
struct device *dev:指向表示块设备的设备结构。
struct backing_dev_info *backing_dev_info:指向备份设备信息。 它包含有关设备的特性和功能的信息。
int Major:与块设备关联的主设备号。
int first_minor:与块设备关联的第一个次要编号。
int Minors:为块设备保留的次要编号的数量。