[PATCH v2 05/26] block: Add bio_end()
Just a little convenience macro - main reason to add it now is preparing for immutable bio vecs, it'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 --- block/blk-core.c | 2 +- block/cfq-iosched.c | 7 ++- block/deadline-iosched.c | 2 +- drivers/block/drbd/drbd_req.c | 2 +- drivers/block/pktcdvd.c | 6 +++--- drivers/md/dm-stripe.c| 2 +- drivers/md/dm-verity.c| 2 +- drivers/md/faulty.c | 6 ++ drivers/md/linear.c | 3 +-- drivers/md/raid1.c| 4 ++-- drivers/md/raid5.c| 14 +++--- drivers/s390/block/dcssblk.c | 3 +-- fs/btrfs/extent_io.c | 3 +-- fs/gfs2/lops.c| 2 +- include/linux/bio.h | 1 + 15 files changed, 26 insertions(+), 33 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 55c833c9..97511cb 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -1557,7 +1557,7 @@ static void handle_bad_sector(struct bio *bio) printk(KERN_INFO "%s: rw=%ld, want=%Lu, limit=%Lu\n", bdevname(bio->bi_bdev, b), bio->bi_rw, - (unsigned long long)bio->bi_sector + bio_sectors(bio), + (unsigned long long)bio_end(bio), (long long)(i_size_read(bio->bi_bdev->bd_inode) >> 9)); set_bit(BIO_EOF, >bi_flags); diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index fb52df9..8eae0f3 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -1883,11 +1883,8 @@ cfq_find_rq_fmerge(struct cfq_data *cfqd, struct bio *bio) return NULL; cfqq = cic_to_cfqq(cic, cfq_bio_sync(bio)); - if (cfqq) { - sector_t sector = bio->bi_sector + bio_sectors(bio); - - return elv_rb_find(>sort_list, sector); - } + if (cfqq) + return elv_rb_find(>sort_list, bio_end(bio)); return NULL; } diff --git a/block/deadline-iosched.c b/block/deadline-iosched.c index 599b12e..a3b4df9 100644 --- a/block/deadline-iosched.c +++ b/block/deadline-iosched.c @@ -132,7 +132,7 @@ deadline_merge(struct request_queue *q, struct request **req, struct bio *bio) * check for front merge */ if (dd->front_merges) { - sector_t sector = bio->bi_sector + bio_sectors(bio); + sector_t sector = bio_end(bio); __rq = elv_rb_find(>sort_list[bio_data_dir(bio)], sector); if (__rq) { diff --git a/drivers/block/drbd/drbd_req.c b/drivers/block/drbd/drbd_req.c index 01b2ac6..af69a96 100644 --- a/drivers/block/drbd/drbd_req.c +++ b/drivers/block/drbd/drbd_req.c @@ -1144,7 +1144,7 @@ void drbd_make_request(struct request_queue *q, struct bio *bio) /* to make some things easier, force alignment of requests within the * granularity of our hash tables */ s_enr = bio->bi_sector >> HT_SHIFT; - e_enr = bio->bi_size ? (bio->bi_sector+(bio->bi_size>>9)-1) >> HT_SHIFT : s_enr; + e_enr = (bio_end(bio) - 1) >> HT_SHIFT; if (likely(s_enr == e_enr)) { do { diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c index 2e7de7a..8df3216 100644 --- a/drivers/block/pktcdvd.c +++ b/drivers/block/pktcdvd.c @@ -901,7 +901,7 @@ static void pkt_iosched_process_queue(struct pktcdvd_device *pd) pd->iosched.successive_reads += bio->bi_size >> 10; else { pd->iosched.successive_reads = 0; - pd->iosched.last_write = bio->bi_sector + bio_sectors(bio); + pd->iosched.last_write = bio_end(bio); } if (pd->iosched.successive_reads >= HI_SPEED_SWITCH) { if (pd->read_speed == pd->write_speed) { @@ -2454,7 +2454,7 @@ static void pkt_make_request(struct request_queue *q, struct bio *bio) zone = ZONE(bio->bi_sector, pd); VPRINTK("pkt_make_request: start = %6llx stop = %6llx\n", (unsigned long long)bio->bi_sector, - (unsigned long long)(bio->bi_sector + bio_sectors(bio))); + (unsigned long long)bio_end(bio)); /* Check if we have to split the bio */ { @@ -2462,7 +2462,7 @@ static void pkt_make_request(struct request_queue *q, struct bio *bio) sector_t last_zone; int first_sectors; - last_zone = ZONE(bio->bi_sector + bio_sectors(bio) - 1, pd); + last_zone = ZONE(bio_end(bio) - 1, pd); if (last_zone != zone) { BUG_ON(last_zone != zone + pd->settings.size); first_sectors = last_zone - bio->bi_sector; diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c index a087bf2..047dd08 100644 ---
[PATCH v2 05/26] block: Add bio_end()
Just a little convenience macro - main reason to add it now is preparing for immutable bio vecs, it'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 --- block/blk-core.c | 2 +- block/cfq-iosched.c | 7 ++- block/deadline-iosched.c | 2 +- drivers/block/drbd/drbd_req.c | 2 +- drivers/block/pktcdvd.c | 6 +++--- drivers/md/dm-stripe.c| 2 +- drivers/md/dm-verity.c| 2 +- drivers/md/faulty.c | 6 ++ drivers/md/linear.c | 3 +-- drivers/md/raid1.c| 4 ++-- drivers/md/raid5.c| 14 +++--- drivers/s390/block/dcssblk.c | 3 +-- fs/btrfs/extent_io.c | 3 +-- fs/gfs2/lops.c| 2 +- include/linux/bio.h | 1 + 15 files changed, 26 insertions(+), 33 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 55c833c9..97511cb 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -1557,7 +1557,7 @@ static void handle_bad_sector(struct bio *bio) printk(KERN_INFO %s: rw=%ld, want=%Lu, limit=%Lu\n, bdevname(bio-bi_bdev, b), bio-bi_rw, - (unsigned long long)bio-bi_sector + bio_sectors(bio), + (unsigned long long)bio_end(bio), (long long)(i_size_read(bio-bi_bdev-bd_inode) 9)); set_bit(BIO_EOF, bio-bi_flags); diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index fb52df9..8eae0f3 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -1883,11 +1883,8 @@ cfq_find_rq_fmerge(struct cfq_data *cfqd, struct bio *bio) return NULL; cfqq = cic_to_cfqq(cic, cfq_bio_sync(bio)); - if (cfqq) { - sector_t sector = bio-bi_sector + bio_sectors(bio); - - return elv_rb_find(cfqq-sort_list, sector); - } + if (cfqq) + return elv_rb_find(cfqq-sort_list, bio_end(bio)); return NULL; } diff --git a/block/deadline-iosched.c b/block/deadline-iosched.c index 599b12e..a3b4df9 100644 --- a/block/deadline-iosched.c +++ b/block/deadline-iosched.c @@ -132,7 +132,7 @@ deadline_merge(struct request_queue *q, struct request **req, struct bio *bio) * check for front merge */ if (dd-front_merges) { - sector_t sector = bio-bi_sector + bio_sectors(bio); + sector_t sector = bio_end(bio); __rq = elv_rb_find(dd-sort_list[bio_data_dir(bio)], sector); if (__rq) { diff --git a/drivers/block/drbd/drbd_req.c b/drivers/block/drbd/drbd_req.c index 01b2ac6..af69a96 100644 --- a/drivers/block/drbd/drbd_req.c +++ b/drivers/block/drbd/drbd_req.c @@ -1144,7 +1144,7 @@ void drbd_make_request(struct request_queue *q, struct bio *bio) /* to make some things easier, force alignment of requests within the * granularity of our hash tables */ s_enr = bio-bi_sector HT_SHIFT; - e_enr = bio-bi_size ? (bio-bi_sector+(bio-bi_size9)-1) HT_SHIFT : s_enr; + e_enr = (bio_end(bio) - 1) HT_SHIFT; if (likely(s_enr == e_enr)) { do { diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c index 2e7de7a..8df3216 100644 --- a/drivers/block/pktcdvd.c +++ b/drivers/block/pktcdvd.c @@ -901,7 +901,7 @@ static void pkt_iosched_process_queue(struct pktcdvd_device *pd) pd-iosched.successive_reads += bio-bi_size 10; else { pd-iosched.successive_reads = 0; - pd-iosched.last_write = bio-bi_sector + bio_sectors(bio); + pd-iosched.last_write = bio_end(bio); } if (pd-iosched.successive_reads = HI_SPEED_SWITCH) { if (pd-read_speed == pd-write_speed) { @@ -2454,7 +2454,7 @@ static void pkt_make_request(struct request_queue *q, struct bio *bio) zone = ZONE(bio-bi_sector, pd); VPRINTK(pkt_make_request: start = %6llx stop = %6llx\n, (unsigned long long)bio-bi_sector, - (unsigned long long)(bio-bi_sector + bio_sectors(bio))); + (unsigned long long)bio_end(bio)); /* Check if we have to split the bio */ { @@ -2462,7 +2462,7 @@ static void pkt_make_request(struct request_queue *q, struct bio *bio) sector_t last_zone; int first_sectors; - last_zone = ZONE(bio-bi_sector + bio_sectors(bio) - 1, pd); + last_zone = ZONE(bio_end(bio) - 1, pd); if (last_zone != zone) { BUG_ON(last_zone != zone + pd-settings.size); first_sectors = last_zone - bio-bi_sector; diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c index a087bf2..047dd08 100644 ---
Re: [PATCH v2 05/26] block: Add bio_end()
On Thu, Sep 20, 2012 at 04:32:25PM -0700, Tejun Heo wrote: > On Mon, Sep 10, 2012 at 05:22:16PM -0700, Kent Overstreet wrote: > > Just a little convenience macro - main reason to add it now is preparing > > for immutable bio vecs, it'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 > > diff --git a/include/linux/bio.h b/include/linux/bio.h > > index 6763cdf..92bff0e 100644 > > --- a/include/linux/bio.h > > +++ b/include/linux/bio.h > > @@ -67,6 +67,7 @@ > > #define bio_offset(bio)bio_iovec((bio))->bv_offset > > #define bio_segments(bio) ((bio)->bi_vcnt - (bio)->bi_idx) > > #define bio_sectors(bio) ((bio)->bi_size >> 9) > > +#define bio_end(bio) ((bio)->bi_sector + bio_sectors(bio)) > > Maybe bio_end_sector() is a better name? bio_end() looks a bit too > close to bio_endio(). Bit verbose for my tastes, but I tend to be more terse than most :P I'm used to bio_end(), but I'll probably change it. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2 05/26] block: Add bio_end()
On Mon, Sep 10, 2012 at 05:22:16PM -0700, Kent Overstreet wrote: > Just a little convenience macro - main reason to add it now is preparing > for immutable bio vecs, it'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 > diff --git a/include/linux/bio.h b/include/linux/bio.h > index 6763cdf..92bff0e 100644 > --- a/include/linux/bio.h > +++ b/include/linux/bio.h > @@ -67,6 +67,7 @@ > #define bio_offset(bio) bio_iovec((bio))->bv_offset > #define bio_segments(bio)((bio)->bi_vcnt - (bio)->bi_idx) > #define bio_sectors(bio) ((bio)->bi_size >> 9) > +#define bio_end(bio) ((bio)->bi_sector + bio_sectors(bio)) Maybe bio_end_sector() is a better name? bio_end() looks a bit too close to bio_endio(). Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2 05/26] block: Add bio_end()
On Mon, Sep 10, 2012 at 05:22:16PM -0700, Kent Overstreet wrote: Just a little convenience macro - main reason to add it now is preparing for immutable bio vecs, it'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 diff --git a/include/linux/bio.h b/include/linux/bio.h index 6763cdf..92bff0e 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -67,6 +67,7 @@ #define bio_offset(bio) bio_iovec((bio))-bv_offset #define bio_segments(bio)((bio)-bi_vcnt - (bio)-bi_idx) #define bio_sectors(bio) ((bio)-bi_size 9) +#define bio_end(bio) ((bio)-bi_sector + bio_sectors(bio)) Maybe bio_end_sector() is a better name? bio_end() looks a bit too close to bio_endio(). Thanks. -- tejun -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2 05/26] block: Add bio_end()
On Thu, Sep 20, 2012 at 04:32:25PM -0700, Tejun Heo wrote: On Mon, Sep 10, 2012 at 05:22:16PM -0700, Kent Overstreet wrote: Just a little convenience macro - main reason to add it now is preparing for immutable bio vecs, it'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 diff --git a/include/linux/bio.h b/include/linux/bio.h index 6763cdf..92bff0e 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -67,6 +67,7 @@ #define bio_offset(bio)bio_iovec((bio))-bv_offset #define bio_segments(bio) ((bio)-bi_vcnt - (bio)-bi_idx) #define bio_sectors(bio) ((bio)-bi_size 9) +#define bio_end(bio) ((bio)-bi_sector + bio_sectors(bio)) Maybe bio_end_sector() is a better name? bio_end() looks a bit too close to bio_endio(). Bit verbose for my tastes, but I tend to be more terse than most :P I'm used to bio_end(), but I'll probably change it. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2 05/26] block: Add bio_end()
Hi, On Mon, 2012-09-10 at 17:22 -0700, Kent Overstreet wrote: > Just a little convenience macro - main reason to add it now is preparing > for immutable bio vecs, it'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 GFS2 bits: Acked-by: Steven Whitehouse Steve. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2 05/26] block: Add bio_end()
Hi, On Mon, 2012-09-10 at 17:22 -0700, Kent Overstreet wrote: Just a little convenience macro - main reason to add it now is preparing for immutable bio vecs, it'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 GFS2 bits: Acked-by: Steven Whitehouse swhit...@redhat.com Steve. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH v2 05/26] block: Add bio_end()
Just a little convenience macro - main reason to add it now is preparing for immutable bio vecs, it'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 --- block/blk-core.c | 2 +- block/cfq-iosched.c | 7 ++- block/deadline-iosched.c | 2 +- drivers/block/drbd/drbd_req.c | 2 +- drivers/block/pktcdvd.c | 6 +++--- drivers/md/dm-stripe.c| 2 +- drivers/md/dm-verity.c| 2 +- drivers/md/faulty.c | 6 ++ drivers/md/linear.c | 3 +-- drivers/md/raid1.c| 4 ++-- drivers/md/raid5.c| 14 +++--- drivers/s390/block/dcssblk.c | 3 +-- fs/btrfs/extent_io.c | 3 +-- fs/gfs2/lops.c| 2 +- include/linux/bio.h | 1 + 15 files changed, 26 insertions(+), 33 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 55c833c9..97511cb 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -1557,7 +1557,7 @@ static void handle_bad_sector(struct bio *bio) printk(KERN_INFO "%s: rw=%ld, want=%Lu, limit=%Lu\n", bdevname(bio->bi_bdev, b), bio->bi_rw, - (unsigned long long)bio->bi_sector + bio_sectors(bio), + (unsigned long long)bio_end(bio), (long long)(i_size_read(bio->bi_bdev->bd_inode) >> 9)); set_bit(BIO_EOF, >bi_flags); diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index fb52df9..8eae0f3 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -1883,11 +1883,8 @@ cfq_find_rq_fmerge(struct cfq_data *cfqd, struct bio *bio) return NULL; cfqq = cic_to_cfqq(cic, cfq_bio_sync(bio)); - if (cfqq) { - sector_t sector = bio->bi_sector + bio_sectors(bio); - - return elv_rb_find(>sort_list, sector); - } + if (cfqq) + return elv_rb_find(>sort_list, bio_end(bio)); return NULL; } diff --git a/block/deadline-iosched.c b/block/deadline-iosched.c index 599b12e..a3b4df9 100644 --- a/block/deadline-iosched.c +++ b/block/deadline-iosched.c @@ -132,7 +132,7 @@ deadline_merge(struct request_queue *q, struct request **req, struct bio *bio) * check for front merge */ if (dd->front_merges) { - sector_t sector = bio->bi_sector + bio_sectors(bio); + sector_t sector = bio_end(bio); __rq = elv_rb_find(>sort_list[bio_data_dir(bio)], sector); if (__rq) { diff --git a/drivers/block/drbd/drbd_req.c b/drivers/block/drbd/drbd_req.c index 01b2ac6..af69a96 100644 --- a/drivers/block/drbd/drbd_req.c +++ b/drivers/block/drbd/drbd_req.c @@ -1144,7 +1144,7 @@ void drbd_make_request(struct request_queue *q, struct bio *bio) /* to make some things easier, force alignment of requests within the * granularity of our hash tables */ s_enr = bio->bi_sector >> HT_SHIFT; - e_enr = bio->bi_size ? (bio->bi_sector+(bio->bi_size>>9)-1) >> HT_SHIFT : s_enr; + e_enr = (bio_end(bio) - 1) >> HT_SHIFT; if (likely(s_enr == e_enr)) { do { diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c index 2e7de7a..8df3216 100644 --- a/drivers/block/pktcdvd.c +++ b/drivers/block/pktcdvd.c @@ -901,7 +901,7 @@ static void pkt_iosched_process_queue(struct pktcdvd_device *pd) pd->iosched.successive_reads += bio->bi_size >> 10; else { pd->iosched.successive_reads = 0; - pd->iosched.last_write = bio->bi_sector + bio_sectors(bio); + pd->iosched.last_write = bio_end(bio); } if (pd->iosched.successive_reads >= HI_SPEED_SWITCH) { if (pd->read_speed == pd->write_speed) { @@ -2454,7 +2454,7 @@ static void pkt_make_request(struct request_queue *q, struct bio *bio) zone = ZONE(bio->bi_sector, pd); VPRINTK("pkt_make_request: start = %6llx stop = %6llx\n", (unsigned long long)bio->bi_sector, - (unsigned long long)(bio->bi_sector + bio_sectors(bio))); + (unsigned long long)bio_end(bio)); /* Check if we have to split the bio */ { @@ -2462,7 +2462,7 @@ static void pkt_make_request(struct request_queue *q, struct bio *bio) sector_t last_zone; int first_sectors; - last_zone = ZONE(bio->bi_sector + bio_sectors(bio) - 1, pd); + last_zone = ZONE(bio_end(bio) - 1, pd); if (last_zone != zone) { BUG_ON(last_zone != zone + pd->settings.size); first_sectors = last_zone - bio->bi_sector; diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c index a087bf2..047dd08 100644 ---
[PATCH v2 05/26] block: Add bio_end()
Just a little convenience macro - main reason to add it now is preparing for immutable bio vecs, it'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 --- block/blk-core.c | 2 +- block/cfq-iosched.c | 7 ++- block/deadline-iosched.c | 2 +- drivers/block/drbd/drbd_req.c | 2 +- drivers/block/pktcdvd.c | 6 +++--- drivers/md/dm-stripe.c| 2 +- drivers/md/dm-verity.c| 2 +- drivers/md/faulty.c | 6 ++ drivers/md/linear.c | 3 +-- drivers/md/raid1.c| 4 ++-- drivers/md/raid5.c| 14 +++--- drivers/s390/block/dcssblk.c | 3 +-- fs/btrfs/extent_io.c | 3 +-- fs/gfs2/lops.c| 2 +- include/linux/bio.h | 1 + 15 files changed, 26 insertions(+), 33 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 55c833c9..97511cb 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -1557,7 +1557,7 @@ static void handle_bad_sector(struct bio *bio) printk(KERN_INFO %s: rw=%ld, want=%Lu, limit=%Lu\n, bdevname(bio-bi_bdev, b), bio-bi_rw, - (unsigned long long)bio-bi_sector + bio_sectors(bio), + (unsigned long long)bio_end(bio), (long long)(i_size_read(bio-bi_bdev-bd_inode) 9)); set_bit(BIO_EOF, bio-bi_flags); diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index fb52df9..8eae0f3 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -1883,11 +1883,8 @@ cfq_find_rq_fmerge(struct cfq_data *cfqd, struct bio *bio) return NULL; cfqq = cic_to_cfqq(cic, cfq_bio_sync(bio)); - if (cfqq) { - sector_t sector = bio-bi_sector + bio_sectors(bio); - - return elv_rb_find(cfqq-sort_list, sector); - } + if (cfqq) + return elv_rb_find(cfqq-sort_list, bio_end(bio)); return NULL; } diff --git a/block/deadline-iosched.c b/block/deadline-iosched.c index 599b12e..a3b4df9 100644 --- a/block/deadline-iosched.c +++ b/block/deadline-iosched.c @@ -132,7 +132,7 @@ deadline_merge(struct request_queue *q, struct request **req, struct bio *bio) * check for front merge */ if (dd-front_merges) { - sector_t sector = bio-bi_sector + bio_sectors(bio); + sector_t sector = bio_end(bio); __rq = elv_rb_find(dd-sort_list[bio_data_dir(bio)], sector); if (__rq) { diff --git a/drivers/block/drbd/drbd_req.c b/drivers/block/drbd/drbd_req.c index 01b2ac6..af69a96 100644 --- a/drivers/block/drbd/drbd_req.c +++ b/drivers/block/drbd/drbd_req.c @@ -1144,7 +1144,7 @@ void drbd_make_request(struct request_queue *q, struct bio *bio) /* to make some things easier, force alignment of requests within the * granularity of our hash tables */ s_enr = bio-bi_sector HT_SHIFT; - e_enr = bio-bi_size ? (bio-bi_sector+(bio-bi_size9)-1) HT_SHIFT : s_enr; + e_enr = (bio_end(bio) - 1) HT_SHIFT; if (likely(s_enr == e_enr)) { do { diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c index 2e7de7a..8df3216 100644 --- a/drivers/block/pktcdvd.c +++ b/drivers/block/pktcdvd.c @@ -901,7 +901,7 @@ static void pkt_iosched_process_queue(struct pktcdvd_device *pd) pd-iosched.successive_reads += bio-bi_size 10; else { pd-iosched.successive_reads = 0; - pd-iosched.last_write = bio-bi_sector + bio_sectors(bio); + pd-iosched.last_write = bio_end(bio); } if (pd-iosched.successive_reads = HI_SPEED_SWITCH) { if (pd-read_speed == pd-write_speed) { @@ -2454,7 +2454,7 @@ static void pkt_make_request(struct request_queue *q, struct bio *bio) zone = ZONE(bio-bi_sector, pd); VPRINTK(pkt_make_request: start = %6llx stop = %6llx\n, (unsigned long long)bio-bi_sector, - (unsigned long long)(bio-bi_sector + bio_sectors(bio))); + (unsigned long long)bio_end(bio)); /* Check if we have to split the bio */ { @@ -2462,7 +2462,7 @@ static void pkt_make_request(struct request_queue *q, struct bio *bio) sector_t last_zone; int first_sectors; - last_zone = ZONE(bio-bi_sector + bio_sectors(bio) - 1, pd); + last_zone = ZONE(bio_end(bio) - 1, pd); if (last_zone != zone) { BUG_ON(last_zone != zone + pd-settings.size); first_sectors = last_zone - bio-bi_sector; diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c index a087bf2..047dd08 100644 ---