本文主要是介绍bio sector的计算与块设备lba,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在构造nvme cmd命令的时候,使用了request的参数__sector,__data_len来设置nvme命令的lba,len值。
request的参数__sector,__data_len是怎么得到的呢?
在造请求的函数(blk_mq_make_request,通常由submit_bio调用)中,如果新bio能合并到当前线程plug中的request或者能合并到设备请求队列中的request(一个request是多个bio的集合,把多个磁盘地址连续的bio合并成一个request),则会根据是前项合并还是后项合并重新调整request的__sector与__data_len;如果不能合并,则申请新的request,用bio初始化他:
这篇关于bio sector的计算与块设备lba的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!