dm: use dm_target_offset macro
Use new dm_target_offset() macro to avoid most references to ti->begin in dm targets. Signed-off-by: Alasdair G Kergon <agk@redhat.com>
This commit is contained in:
Родитель
56a67df766
Коммит
b441a262e7
|
@ -1284,7 +1284,7 @@ static int crypt_map(struct dm_target *ti, struct bio *bio,
|
||||||
return DM_MAPIO_REMAPPED;
|
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)
|
if (bio_data_dir(io->base_bio) == READ)
|
||||||
kcryptd_queue_io(io);
|
kcryptd_queue_io(io);
|
||||||
|
@ -1406,7 +1406,7 @@ static int crypt_merge(struct dm_target *ti, struct bvec_merge_data *bvm,
|
||||||
return max_size;
|
return max_size;
|
||||||
|
|
||||||
bvm->bi_bdev = cc->dev->bdev;
|
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));
|
return min(max_size, q->merge_bvec_fn(q, bvm, biovec));
|
||||||
}
|
}
|
||||||
|
|
|
@ -281,14 +281,13 @@ static int delay_map(struct dm_target *ti, struct bio *bio,
|
||||||
bio->bi_bdev = dc->dev_write->bdev;
|
bio->bi_bdev = dc->dev_write->bdev;
|
||||||
if (bio_sectors(bio))
|
if (bio_sectors(bio))
|
||||||
bio->bi_sector = dc->start_write +
|
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);
|
return delay_bio(dc, dc->write_delay, bio);
|
||||||
}
|
}
|
||||||
|
|
||||||
bio->bi_bdev = dc->dev_read->bdev;
|
bio->bi_bdev = dc->dev_read->bdev;
|
||||||
bio->bi_sector = dc->start_read +
|
bio->bi_sector = dc->start_read + dm_target_offset(ti, bio->bi_sector);
|
||||||
(bio->bi_sector - ti->begin);
|
|
||||||
|
|
||||||
return delay_bio(dc, dc->read_delay, bio);
|
return delay_bio(dc, dc->read_delay, bio);
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,7 +74,7 @@ static sector_t linear_map_sector(struct dm_target *ti, sector_t bi_sector)
|
||||||
{
|
{
|
||||||
struct linear_c *lc = ti->private;
|
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)
|
static void linear_map_bio(struct dm_target *ti, struct bio *bio)
|
||||||
|
|
|
@ -445,7 +445,7 @@ static sector_t map_sector(struct mirror *m, struct bio *bio)
|
||||||
{
|
{
|
||||||
if (unlikely(!bio->bi_size))
|
if (unlikely(!bio->bi_size))
|
||||||
return 0;
|
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)
|
static void map_bio(struct mirror *m, struct bio *bio)
|
||||||
|
|
|
@ -222,7 +222,7 @@ static int stripe_map(struct dm_target *ti, struct bio *bio,
|
||||||
return DM_MAPIO_REMAPPED;
|
return DM_MAPIO_REMAPPED;
|
||||||
}
|
}
|
||||||
|
|
||||||
offset = bio->bi_sector - ti->begin;
|
offset = dm_target_offset(ti, bio->bi_sector);
|
||||||
chunk = offset >> sc->chunk_shift;
|
chunk = offset >> sc->chunk_shift;
|
||||||
stripe = sector_div(chunk, sc->stripes);
|
stripe = sector_div(chunk, sc->stripes);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче