Linux kernel block device 的 submit_bio 都做了什么?
生活随笔
收集整理的這篇文章主要介紹了
Linux kernel block device 的 submit_bio 都做了什么?
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
先看看原型申明:
void submit_bio(int rw, struct bio *bio)
其中
rw 代表是讀還是寫(xiě)
bio 描述這個(gè)I/O的結(jié)構(gòu)
最后submit_bio調(diào)用generic_make_request(bio);去完成真正的IO請(qǐng)求。
需要注意一點(diǎn)的是,bio結(jié)構(gòu)里面有一個(gè)很重要的字段
struct block_device?? ?*bi_bdev;
這個(gè)bi_bdev就決定了從哪個(gè)設(shè)備上去讀寫(xiě)數(shù)據(jù)。
所以,在內(nèi)核中,如果我們要讀取某個(gè)block設(shè)備的數(shù)據(jù),使用submit_bio就可以得到數(shù)據(jù)的,自己構(gòu)建一個(gè)bio。
總結(jié)
以上是生活随笔為你收集整理的Linux kernel block device 的 submit_bio 都做了什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于BIO结构分析
- 下一篇: 转载:谢谢原作者:块设备驱动实战基础篇一