在构造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初始化他: