dm: use dm_target_offset macro
authorAlasdair G Kergon <agk@redhat.com>
Thu, 12 Aug 2010 03:14:11 +0000 (04:14 +0100)
committerAlasdair G Kergon <agk@redhat.com>
Thu, 12 Aug 2010 03:14:11 +0000 (04:14 +0100)
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>
drivers/md/dm-crypt.c
drivers/md/dm-delay.c
drivers/md/dm-linear.c
drivers/md/dm-raid1.c
drivers/md/dm-stripe.c

index 6401bfa0adff19170df086ae05bdc80d3ea975ce..368e8e98f7050e0fa5ddd7fa2220379681fdb04d 100644 (file)
@@ -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));
 }
index 852052880d7a3b5574b3a718325678d201033506..a91049e05219b4187ab1640b1b311577fb1c6432 100644 (file)
@@ -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);
 }
index f043b5f433b2a70b9bdded86f62f0392eb2d9d0c..3921e3bb43c15a107c90e4769fa682b1041d9a7a 100644 (file)
@@ -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)
index 74136262d6542cbd599519645b6aaac3c6f1db74..7c081bcbc3cf31f141ea1e7c1c7bdd03f7742582 100644 (file)
@@ -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)
index 22d5e2fdab8bea177eea97b7b70795c03e3f37bd..779f47a0fe71e9363578822f9c62ad4dd1b1ca4a 100644 (file)
@@ -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);