bio_vecs aren't guaranteed to be one page long anymore
Multi-page bvecs cause this double-check to be inaccurate and would lock
the machine.
This loop resets the read position into the bvec for kernel versions
prior to the existence of bvec iterators. Afterwards, it doesn't rely on
this mechanism.