Noted by Sean Estabrooks:
There is a bug in "ll_rw_blk.c" handling partial bvec submissions.
For whatever reason the floppy driver was triggering it more than
other users (most likely because most other devices tend to be able
to always complete a full request in one go).
Fixed by updating the proper bio vector index entry.
* not a complete bvec done
*/
if (unlikely(nbytes > nr_bytes)) {
- bio_iovec(bio)->bv_offset += nr_bytes;
- bio_iovec(bio)->bv_len -= nr_bytes;
+ bio_iovec_idx(bio, idx)->bv_offset += nr_bytes;
+ bio_iovec_idx(bio, idx)->bv_len -= nr_bytes;
bio_nbytes += nr_bytes;
total_bytes += nr_bytes;
break;