关于bi_sector 的问题

今天一直被一个问题所困扰,我在发bio的时候,打印了bi_sector,然后在bio的结束回调函数里面将bi_sector打印出来,发现它们始终不一样。还以为我们使用的结构有问题,最后查看内核代码,发现在bio_endio里面确实会改变bi_sector.

bio->bi_size -= bytes_done;

bio->bi_sector += (bytes_done >> 9);


其实仔细想想确实是有道理的,因为一个bio一次可能没有下发完成。那么第二次就要从新的位置(bi_sector改变),下发新的数量(bi_size改变)。

浪费一上午时间啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值