Commit 66bdaa43 authored by Mike Snitzer's avatar Mike Snitzer
Browse files

dm: fold __clone_and_map_data_bio into __split_and_process_bio



Fold __clone_and_map_data_bio into its only caller.

Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarMikulas Patocka <mpatocka@redhat.com>
Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
parent 96c9865c
Loading
Loading
Loading
Loading
+8 −22
Original line number Diff line number Diff line
@@ -1207,25 +1207,6 @@ static void bio_setup_sector(struct bio *bio, sector_t sector, unsigned len)
	bio->bi_iter.bi_size = to_bytes(len);
}

/*
 * Creates a bio that consists of range of complete bvecs.
 */
static int __clone_and_map_data_bio(struct clone_info *ci, struct dm_target *ti,
				    sector_t sector, unsigned *len)
{
	struct bio *bio = ci->bio, *clone;

	clone = alloc_tio(ci, ti, 0, len, GFP_NOIO);
	bio_advance(clone, to_bytes(sector - clone->bi_iter.bi_sector));
	clone->bi_iter.bi_size = to_bytes(*len);

	if (bio_integrity(bio))
		bio_integrity_trim(clone);

	__map_bio(clone);
	return 0;
}

static void alloc_multiple_bios(struct bio_list *blist, struct clone_info *ci,
				struct dm_target *ti, unsigned num_bios,
				unsigned *len)
@@ -1380,6 +1361,7 @@ static bool __process_abnormal_io(struct clone_info *ci, struct dm_target *ti,
 */
static int __split_and_process_bio(struct clone_info *ci)
{
	struct bio *clone;
	struct dm_target *ti;
	unsigned len;
	int r;
@@ -1393,9 +1375,13 @@ static int __split_and_process_bio(struct clone_info *ci)

	len = min_t(sector_t, max_io_len(ti, ci->sector), ci->sector_count);

	r = __clone_and_map_data_bio(ci, ti, ci->sector, &len);
	if (r < 0)
		return r;
	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);

	__map_bio(clone);

	ci->sector += len;
	ci->sector_count -= len;