[PATCH 6/9] block: Use bio_sectors() more consistently

2012-09-07 Thread Kent Overstreet
Bunch of places in the code weren't using it where they could be -
this'll reduce the size of the patch that puts bi_sector/bi_size/bi_idx
into a struct bvec_iter.

Signed-off-by: Kent Overstreet 
CC: Jens Axboe 
---
 drivers/block/aoe/aoeblk.c   |  2 +-
 drivers/block/aoe/aoecmd.c   |  2 +-
 drivers/block/brd.c  |  3 +--
 drivers/block/pktcdvd.c  |  2 +-
 drivers/block/ps3vram.c  |  2 +-
 drivers/md/dm-raid1.c|  2 +-
 drivers/md/raid0.c   |  6 +++---
 drivers/md/raid1.c   | 17 -
 drivers/md/raid10.c  | 24 +++-
 drivers/md/raid5.c   |  8 
 include/trace/events/block.h | 10 +-
 11 files changed, 37 insertions(+), 41 deletions(-)

diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
index 321de7b..6e4420a 100644
--- a/drivers/block/aoe/aoeblk.c
+++ b/drivers/block/aoe/aoeblk.c
@@ -199,7 +199,7 @@ aoeblk_make_request(struct request_queue *q, struct bio 
*bio)
buf->bio = bio;
buf->resid = bio->bi_size;
buf->sector = bio->bi_sector;
-   buf->bv = >bi_io_vec[bio->bi_idx];
+   buf->bv = bio_iovec(bio);
buf->bv_resid = buf->bv->bv_len;
WARN_ON(buf->bv_resid == 0);
buf->bv_off = buf->bv->bv_offset;
diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c
index de0435e..2b52ebc 100644
--- a/drivers/block/aoe/aoecmd.c
+++ b/drivers/block/aoe/aoecmd.c
@@ -720,7 +720,7 @@ gettgt(struct aoedev *d, char *addr)
 static inline void
 diskstats(struct gendisk *disk, struct bio *bio, ulong duration, sector_t 
sector)
 {
-   unsigned long n_sect = bio->bi_size >> 9;
+   unsigned long n_sect = bio_sectors(bio);
const int rw = bio_data_dir(bio);
struct hd_struct *part;
int cpu;
diff --git a/drivers/block/brd.c b/drivers/block/brd.c
index 531ceb3..d5c4978 100644
--- a/drivers/block/brd.c
+++ b/drivers/block/brd.c
@@ -334,8 +334,7 @@ static void brd_make_request(struct request_queue *q, 
struct bio *bio)
int err = -EIO;
 
sector = bio->bi_sector;
-   if (sector + (bio->bi_size >> SECTOR_SHIFT) >
-   get_capacity(bdev->bd_disk))
+   if (sector + bio_sectors(bio) > get_capacity(bdev->bd_disk))
goto out;
 
if (unlikely(bio->bi_rw & REQ_DISCARD)) {
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
index 8df3216..0824627 100644
--- a/drivers/block/pktcdvd.c
+++ b/drivers/block/pktcdvd.c
@@ -2433,7 +2433,7 @@ static void pkt_make_request(struct request_queue *q, 
struct bio *bio)
cloned_bio->bi_bdev = pd->bdev;
cloned_bio->bi_private = psd;
cloned_bio->bi_end_io = pkt_end_io_read_cloned;
-   pd->stats.secs_r += bio->bi_size >> 9;
+   pd->stats.secs_r += bio_sectors(bio);
pkt_queue_bio(pd, cloned_bio);
return;
}
diff --git a/drivers/block/ps3vram.c b/drivers/block/ps3vram.c
index f58cdcf..1ff38e8 100644
--- a/drivers/block/ps3vram.c
+++ b/drivers/block/ps3vram.c
@@ -553,7 +553,7 @@ static struct bio *ps3vram_do_bio(struct 
ps3_system_bus_device *dev,
struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev);
int write = bio_data_dir(bio) == WRITE;
const char *op = write ? "write" : "read";
-   loff_t offset = bio->bi_sector << 9;
+   loff_t offset = bio_sectors(bio);
int error = 0;
struct bio_vec *bvec;
unsigned int i;
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c
index bc5ddba8..3dac2de 100644
--- a/drivers/md/dm-raid1.c
+++ b/drivers/md/dm-raid1.c
@@ -457,7 +457,7 @@ static void map_region(struct dm_io_region *io, struct 
mirror *m,
 {
io->bdev = m->dev->bdev;
io->sector = map_sector(m, bio);
-   io->count = bio->bi_size >> 9;
+   io->count = bio_sectors(bio);
 }
 
 static void hold_bio(struct mirror_set *ms, struct bio *bio)
diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c
index de63a1f..387cb89 100644
--- a/drivers/md/raid0.c
+++ b/drivers/md/raid0.c
@@ -484,11 +484,11 @@ static inline int is_io_in_chunk_boundary(struct mddev 
*mddev,
 {
if (likely(is_power_of_2(chunk_sects))) {
return chunk_sects >= ((bio->bi_sector & (chunk_sects-1))
-   + (bio->bi_size >> 9));
+   + bio_sectors(bio));
} else{
sector_t sector = bio->bi_sector;
return chunk_sects >= (sector_div(sector, chunk_sects)
-   + (bio->bi_size >> 9));
+   + bio_sectors(bio));
}
 }
 
@@ -542,7 +542,7 @@ bad_map:
printk("md/raid0:%s: make_request bug: can't convert block across 
chunks"
   " or bigger than %dk %llu %d\n",
   mdname(mddev), chunk_sects / 2,
-  (unsigned long 

[PATCH 6/9] block: Use bio_sectors() more consistently

2012-09-07 Thread Kent Overstreet
Bunch of places in the code weren't using it where they could be -
this'll reduce the size of the patch that puts bi_sector/bi_size/bi_idx
into a struct bvec_iter.

Signed-off-by: Kent Overstreet koverstr...@google.com
CC: Jens Axboe ax...@kernel.dk
---
 drivers/block/aoe/aoeblk.c   |  2 +-
 drivers/block/aoe/aoecmd.c   |  2 +-
 drivers/block/brd.c  |  3 +--
 drivers/block/pktcdvd.c  |  2 +-
 drivers/block/ps3vram.c  |  2 +-
 drivers/md/dm-raid1.c|  2 +-
 drivers/md/raid0.c   |  6 +++---
 drivers/md/raid1.c   | 17 -
 drivers/md/raid10.c  | 24 +++-
 drivers/md/raid5.c   |  8 
 include/trace/events/block.h | 10 +-
 11 files changed, 37 insertions(+), 41 deletions(-)

diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
index 321de7b..6e4420a 100644
--- a/drivers/block/aoe/aoeblk.c
+++ b/drivers/block/aoe/aoeblk.c
@@ -199,7 +199,7 @@ aoeblk_make_request(struct request_queue *q, struct bio 
*bio)
buf-bio = bio;
buf-resid = bio-bi_size;
buf-sector = bio-bi_sector;
-   buf-bv = bio-bi_io_vec[bio-bi_idx];
+   buf-bv = bio_iovec(bio);
buf-bv_resid = buf-bv-bv_len;
WARN_ON(buf-bv_resid == 0);
buf-bv_off = buf-bv-bv_offset;
diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c
index de0435e..2b52ebc 100644
--- a/drivers/block/aoe/aoecmd.c
+++ b/drivers/block/aoe/aoecmd.c
@@ -720,7 +720,7 @@ gettgt(struct aoedev *d, char *addr)
 static inline void
 diskstats(struct gendisk *disk, struct bio *bio, ulong duration, sector_t 
sector)
 {
-   unsigned long n_sect = bio-bi_size  9;
+   unsigned long n_sect = bio_sectors(bio);
const int rw = bio_data_dir(bio);
struct hd_struct *part;
int cpu;
diff --git a/drivers/block/brd.c b/drivers/block/brd.c
index 531ceb3..d5c4978 100644
--- a/drivers/block/brd.c
+++ b/drivers/block/brd.c
@@ -334,8 +334,7 @@ static void brd_make_request(struct request_queue *q, 
struct bio *bio)
int err = -EIO;
 
sector = bio-bi_sector;
-   if (sector + (bio-bi_size  SECTOR_SHIFT) 
-   get_capacity(bdev-bd_disk))
+   if (sector + bio_sectors(bio)  get_capacity(bdev-bd_disk))
goto out;
 
if (unlikely(bio-bi_rw  REQ_DISCARD)) {
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
index 8df3216..0824627 100644
--- a/drivers/block/pktcdvd.c
+++ b/drivers/block/pktcdvd.c
@@ -2433,7 +2433,7 @@ static void pkt_make_request(struct request_queue *q, 
struct bio *bio)
cloned_bio-bi_bdev = pd-bdev;
cloned_bio-bi_private = psd;
cloned_bio-bi_end_io = pkt_end_io_read_cloned;
-   pd-stats.secs_r += bio-bi_size  9;
+   pd-stats.secs_r += bio_sectors(bio);
pkt_queue_bio(pd, cloned_bio);
return;
}
diff --git a/drivers/block/ps3vram.c b/drivers/block/ps3vram.c
index f58cdcf..1ff38e8 100644
--- a/drivers/block/ps3vram.c
+++ b/drivers/block/ps3vram.c
@@ -553,7 +553,7 @@ static struct bio *ps3vram_do_bio(struct 
ps3_system_bus_device *dev,
struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev);
int write = bio_data_dir(bio) == WRITE;
const char *op = write ? write : read;
-   loff_t offset = bio-bi_sector  9;
+   loff_t offset = bio_sectors(bio);
int error = 0;
struct bio_vec *bvec;
unsigned int i;
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c
index bc5ddba8..3dac2de 100644
--- a/drivers/md/dm-raid1.c
+++ b/drivers/md/dm-raid1.c
@@ -457,7 +457,7 @@ static void map_region(struct dm_io_region *io, struct 
mirror *m,
 {
io-bdev = m-dev-bdev;
io-sector = map_sector(m, bio);
-   io-count = bio-bi_size  9;
+   io-count = bio_sectors(bio);
 }
 
 static void hold_bio(struct mirror_set *ms, struct bio *bio)
diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c
index de63a1f..387cb89 100644
--- a/drivers/md/raid0.c
+++ b/drivers/md/raid0.c
@@ -484,11 +484,11 @@ static inline int is_io_in_chunk_boundary(struct mddev 
*mddev,
 {
if (likely(is_power_of_2(chunk_sects))) {
return chunk_sects = ((bio-bi_sector  (chunk_sects-1))
-   + (bio-bi_size  9));
+   + bio_sectors(bio));
} else{
sector_t sector = bio-bi_sector;
return chunk_sects = (sector_div(sector, chunk_sects)
-   + (bio-bi_size  9));
+   + bio_sectors(bio));
}
 }
 
@@ -542,7 +542,7 @@ bad_map:
printk(md/raid0:%s: make_request bug: can't convert block across 
chunks
or bigger than %dk %llu %d\n,
   mdname(mddev), chunk_sects / 2,
-  (unsigned long long)bio-bi_sector,