私はLinuxカーネルバージョン2.6.39.1で作業しており、ブロックデバイスドライバを開発中です。この点に関し、複数のstruct bio
を1つのstruct request
にまとめ、デバイスドライバによる処理のためにrequest_queue
に追加します。つまり、scsi_request_fn()
です。複数の構造化BIOを単一の構造体リクエストに結合するにはどうすればよいですか?
struct bio
フィールドを使用して、私が作成したstruct bio
を複数回リンクすると、struct bio
のリンクリストが作成されました。 submit_bio()
を呼び出してI/Oのブロックデバイスレイヤにbioを送信すると、コードでbio->bi_next
がNULL
と予想されるため、thisBUG_ON()
がトリガーされます。
サービスのために複数のstruct bio
を1つのstruct request
にリンクする前にリンクする方法はありますか。