我正在开发 Linux 内核版本 2.6.39.1,并且正在开发块设备驱动程序。对此,我想将多个struct bios 组合成一个 s struct request,然后request_queue由设备驱动添加到进行处理,即 -- scsi_request_fn()。
我尝试使用->bi_nextof 字段struct bio来链接struct bio我已经组成的多个 s,从而创建了一个 s 的链表struct bio。当我打电话submit_bio()向 I/O 的块设备层提交 bio 时,这 BUG_ON()会被触发,因为代码期望bio->bi_next是NULL.
有没有办法在将几个s发送到较低层进行服务之前将其链接struct bio成一个?struct request