}
 }
 
-static void bio_setup_sector(struct bio *bio, sector_t sector, unsigned len)
-{
-       bio->bi_iter.bi_sector = sector;
-       bio->bi_iter.bi_size = to_bytes(len);
-}
-
 static void alloc_multiple_bios(struct bio_list *blist, struct clone_info *ci,
                                struct dm_target *ti, unsigned num_bios,
                                unsigned *len)
        case 1:
                clone = alloc_tio(ci, ti, 0, len, GFP_NOIO);
                if (len)
-                       bio_setup_sector(clone, ci->sector, *len);
+                       clone->bi_iter.bi_size = to_bytes(*len);
                __map_bio(clone);
                break;
        default:
                alloc_multiple_bios(&blist, ci, ti, num_bios, len);
                while ((clone = bio_list_pop(&blist))) {
                        if (len)
-                               bio_setup_sector(clone, ci->sector, *len);
+                               clone->bi_iter.bi_size = to_bytes(*len);
                        __map_bio(clone);
                }
                break;
        len = min_t(sector_t, max_io_len(ti, ci->sector), ci->sector_count);
 
        clone = alloc_tio(ci, ti, 0, &len, GFP_NOIO);
-       bio_advance(clone, to_bytes(ci->sector - clone->bi_iter.bi_sector));
        clone->bi_iter.bi_size = to_bytes(len);
        if (bio_integrity(clone))
                bio_integrity_trim(clone);