根据上一篇blog:linux块设备驱动之相关结构体
前一篇blog中已经贴出这些相关的结构体,但是其中关系还是没有说的很清楚。现在来理一理它们之间的关系,首先是struct gendisk 和 struct block_device 以及struct hd_struct;其中struct gendisk 表示的是一个块设备,而struct block_device表示是一个分区设备(也可以表示块设备),struct hd_struct表示的是一个分区信息;它们的关系如下面。
下面是struct request 和 struct bio 的关系;其实还有一副图没有贴出,就是表示一个块设备只有一个队列,而该队列中有多个request,每个request都代表了一个请求。而request结构体真正的有效数据是bio,其实request的请求都是bio请求。如果不是硬盘之类的设