diff options
| -rw-r--r-- | drivers/md/dm-crypt.c | 4 | ||||
| -rw-r--r-- | drivers/md/dm-delay.c | 5 | ||||
| -rw-r--r-- | drivers/md/dm-linear.c | 2 | ||||
| -rw-r--r-- | drivers/md/dm-raid1.c | 2 | ||||
| -rw-r--r-- | drivers/md/dm-stripe.c | 2 | 
5 files changed, 7 insertions, 8 deletions
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index 6401bfa0adf..368e8e98f70 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c @@ -1284,7 +1284,7 @@ static int crypt_map(struct dm_target *ti, struct bio *bio,  		return DM_MAPIO_REMAPPED;  	} -	io = crypt_io_alloc(ti, bio, bio->bi_sector - ti->begin); +	io = crypt_io_alloc(ti, bio, dm_target_offset(ti, bio->bi_sector));  	if (bio_data_dir(io->base_bio) == READ)  		kcryptd_queue_io(io); @@ -1406,7 +1406,7 @@ static int crypt_merge(struct dm_target *ti, struct bvec_merge_data *bvm,  		return max_size;  	bvm->bi_bdev = cc->dev->bdev; -	bvm->bi_sector = cc->start + bvm->bi_sector - ti->begin; +	bvm->bi_sector = cc->start + dm_target_offset(ti, bvm->bi_sector);  	return min(max_size, q->merge_bvec_fn(q, bvm, biovec));  } diff --git a/drivers/md/dm-delay.c b/drivers/md/dm-delay.c index 852052880d7..a91049e0521 100644 --- a/drivers/md/dm-delay.c +++ b/drivers/md/dm-delay.c @@ -281,14 +281,13 @@ static int delay_map(struct dm_target *ti, struct bio *bio,  		bio->bi_bdev = dc->dev_write->bdev;  		if (bio_sectors(bio))  			bio->bi_sector = dc->start_write + -					 (bio->bi_sector - ti->begin); +					 dm_target_offset(ti, bio->bi_sector);  		return delay_bio(dc, dc->write_delay, bio);  	}  	bio->bi_bdev = dc->dev_read->bdev; -	bio->bi_sector = dc->start_read + -			 (bio->bi_sector - ti->begin); +	bio->bi_sector = dc->start_read + dm_target_offset(ti, bio->bi_sector);  	return delay_bio(dc, dc->read_delay, bio);  } diff --git a/drivers/md/dm-linear.c b/drivers/md/dm-linear.c index f043b5f433b..3921e3bb43c 100644 --- a/drivers/md/dm-linear.c +++ b/drivers/md/dm-linear.c @@ -74,7 +74,7 @@ static sector_t linear_map_sector(struct dm_target *ti, sector_t bi_sector)  {  	struct linear_c *lc = ti->private; -	return lc->start + (bi_sector - ti->begin); +	return lc->start + dm_target_offset(ti, bi_sector);  }  static void linear_map_bio(struct dm_target *ti, struct bio *bio) diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c index 74136262d65..7c081bcbc3c 100644 --- a/drivers/md/dm-raid1.c +++ b/drivers/md/dm-raid1.c @@ -445,7 +445,7 @@ static sector_t map_sector(struct mirror *m, struct bio *bio)  {  	if (unlikely(!bio->bi_size))  		return 0; -	return m->offset + (bio->bi_sector - m->ms->ti->begin); +	return m->offset + dm_target_offset(m->ms->ti, bio->bi_sector);  }  static void map_bio(struct mirror *m, struct bio *bio) diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c index 22d5e2fdab8..779f47a0fe7 100644 --- a/drivers/md/dm-stripe.c +++ b/drivers/md/dm-stripe.c @@ -222,7 +222,7 @@ static int stripe_map(struct dm_target *ti, struct bio *bio,  		return DM_MAPIO_REMAPPED;  	} -	offset = bio->bi_sector - ti->begin; +	offset = dm_target_offset(ti, bio->bi_sector);  	chunk = offset >> sc->chunk_shift;  	stripe = sector_div(chunk, sc->stripes);  |