diff options
| author | Kent Overstreet <koverstreet@google.com> | 2013-02-05 18:19:29 -0500 |
|---|---|---|
| committer | Kent Overstreet <koverstreet@google.com> | 2013-03-23 17:15:30 -0400 |
| commit | aa8b57aa3d1c06ca53312294ee6dfc767ee3ddb3 (patch) | |
| tree | a5921d44756d32e0555a8ae284db3c16a8386860 | |
| parent | f73a1c7d117d07a96d89475066188a2b79e53c48 (diff) | |
block: Use bio_sectors() more consistently
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 <koverstreet@google.com>
CC: Jens Axboe <axboe@kernel.dk>
CC: "Ed L. Cashin" <ecashin@coraid.com>
CC: Nick Piggin <npiggin@kernel.dk>
CC: Jiri Kosina <jkosina@suse.cz>
CC: Jim Paris <jim@jtan.com>
CC: Geoff Levand <geoff@infradead.org>
CC: Alasdair Kergon <agk@redhat.com>
CC: dm-devel@redhat.com
CC: Neil Brown <neilb@suse.de>
CC: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Ed Cashin <ecashin@coraid.com>
| -rw-r--r-- | drivers/block/pktcdvd.c | 2 | ||||
| -rw-r--r-- | drivers/md/dm-raid1.c | 2 | ||||
| -rw-r--r-- | drivers/md/raid0.c | 6 | ||||
| -rw-r--r-- | drivers/md/raid1.c | 17 | ||||
| -rw-r--r-- | drivers/md/raid10.c | 24 | ||||
| -rw-r--r-- | drivers/md/raid5.c | 8 | ||||
| -rw-r--r-- | fs/btrfs/volumes.c | 2 | ||||
| -rw-r--r-- | include/trace/events/block.h | 12 |
8 files changed, 35 insertions, 38 deletions
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c index 26938e8e2fc3..2c27744b9ca6 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) | |||
| 2433 | cloned_bio->bi_bdev = pd->bdev; | 2433 | cloned_bio->bi_bdev = pd->bdev; |
| 2434 | cloned_bio->bi_private = psd; | 2434 | cloned_bio->bi_private = psd; |
| 2435 | cloned_bio->bi_end_io = pkt_end_io_read_cloned; | 2435 | cloned_bio->bi_end_io = pkt_end_io_read_cloned; |
| 2436 | pd->stats.secs_r += bio->bi_size >> 9; | 2436 | pd->stats.secs_r += bio_sectors(bio); |
| 2437 | pkt_queue_bio(pd, cloned_bio); | 2437 | pkt_queue_bio(pd, cloned_bio); |
| 2438 | return; | 2438 | return; |
| 2439 | } | 2439 | } |
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c index d053098c6a91..699b5be68d31 100644 --- a/drivers/md/dm-raid1.c +++ b/drivers/md/dm-raid1.c | |||
| @@ -458,7 +458,7 @@ static void map_region(struct dm_io_region *io, struct mirror *m, | |||
| 458 | { | 458 | { |
| 459 | io->bdev = m->dev->bdev; | 459 | io->bdev = m->dev->bdev; |
| 460 | io->sector = map_sector(m, bio); | 460 | io->sector = map_sector(m, bio); |
| 461 | io->count = bio->bi_size >> 9; | 461 | io->count = bio_sectors(bio); |
| 462 | } | 462 | } |
| 463 | 463 | ||
| 464 | static void hold_bio(struct mirror_set *ms, struct bio *bio) | 464 | static void hold_bio(struct mirror_set *ms, struct bio *bio) |
diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c index 0505452de8d6..23a38afec351 100644 --- a/drivers/md/raid0.c +++ b/drivers/md/raid0.c | |||
| @@ -502,11 +502,11 @@ static inline int is_io_in_chunk_boundary(struct mddev *mddev, | |||
| 502 | { | 502 | { |
| 503 | if (likely(is_power_of_2(chunk_sects))) { | 503 | if (likely(is_power_of_2(chunk_sects))) { |
| 504 | return chunk_sects >= ((bio->bi_sector & (chunk_sects-1)) | 504 | return chunk_sects >= ((bio->bi_sector & (chunk_sects-1)) |
| 505 | + (bio->bi_size >> 9)); | 505 | + bio_sectors(bio)); |
| 506 | } else{ | 506 | } else{ |
| 507 | sector_t sector = bio->bi_sector; | 507 | sector_t sector = bio->bi_sector; |
| 508 | return chunk_sects >= (sector_div(sector, chunk_sects) | 508 | return chunk_sects >= (sector_div(sector, chunk_sects) |
| 509 | + (bio->bi_size >> 9)); | 509 | + bio_sectors(bio)); |
| 510 | } | 510 | } |
| 511 | } | 511 | } |
| 512 | 512 | ||
| @@ -567,7 +567,7 @@ bad_map: | |||
| 567 | printk("md/raid0:%s: make_request bug: can't convert block across chunks" | 567 | printk("md/raid0:%s: make_request bug: can't convert block across chunks" |
| 568 | " or bigger than %dk %llu %d\n", | 568 | " or bigger than %dk %llu %d\n", |
| 569 | mdname(mddev), chunk_sects / 2, | 569 | mdname(mddev), chunk_sects / 2, |
| 570 | (unsigned long long)bio->bi_sector, bio->bi_size >> 10); | 570 | (unsigned long long)bio->bi_sector, bio_sectors(bio) / 2); |
| 571 | 571 | ||
| 572 | bio_io_error(bio); | 572 | bio_io_error(bio); |
| 573 | return; | 573 | return; |
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 4d8c2e0a6bad..f741c9fe25c8 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c | |||
| @@ -267,7 +267,7 @@ static void raid_end_bio_io(struct r1bio *r1_bio) | |||
| 267 | (bio_data_dir(bio) == WRITE) ? "write" : "read", | 267 | (bio_data_dir(bio) == WRITE) ? "write" : "read", |
| 268 | (unsigned long long) bio->bi_sector, | 268 | (unsigned long long) bio->bi_sector, |
| 269 | (unsigned long long) bio->bi_sector + | 269 | (unsigned long long) bio->bi_sector + |
| 270 | (bio->bi_size >> 9) - 1); | 270 | bio_sectors(bio) - 1); |
| 271 | 271 | ||
| 272 | call_bio_endio(r1_bio); | 272 | call_bio_endio(r1_bio); |
| 273 | } | 273 | } |
| @@ -458,7 +458,7 @@ static void raid1_end_write_request(struct bio *bio, int error) | |||
| 458 | " %llu-%llu\n", | 458 | " %llu-%llu\n", |
| 459 | (unsigned long long) mbio->bi_sector, | 459 | (unsigned long long) mbio->bi_sector, |
| 460 | (unsigned long long) mbio->bi_sector + | 460 | (unsigned long long) mbio->bi_sector + |
| 461 | (mbio->bi_size >> 9) - 1); | 461 | bio_sectors(mbio) - 1); |
| 462 | call_bio_endio(r1_bio); | 462 | call_bio_endio(r1_bio); |
| 463 | } | 463 | } |
| 464 | } | 464 | } |
| @@ -1049,7 +1049,7 @@ static void make_request(struct mddev *mddev, struct bio * bio) | |||
| 1049 | r1_bio = mempool_alloc(conf->r1bio_pool, GFP_NOIO); | 1049 | r1_bio = mempool_alloc(conf->r1bio_pool, GFP_NOIO); |
| 1050 | 1050 | ||
| 1051 | r1_bio->master_bio = bio; | 1051 | r1_bio->master_bio = bio; |
| 1052 | r1_bio->sectors = bio->bi_size >> 9; | 1052 | r1_bio->sectors = bio_sectors(bio); |
| 1053 | r1_bio->state = 0; | 1053 | r1_bio->state = 0; |
| 1054 | r1_bio->mddev = mddev; | 1054 | r1_bio->mddev = mddev; |
| 1055 | r1_bio->sector = bio->bi_sector; | 1055 | r1_bio->sector = bio->bi_sector; |
| @@ -1127,7 +1127,7 @@ read_again: | |||
| 1127 | r1_bio = mempool_alloc(conf->r1bio_pool, GFP_NOIO); | 1127 | r1_bio = mempool_alloc(conf->r1bio_pool, GFP_NOIO); |
| 1128 | 1128 | ||
| 1129 | r1_bio->master_bio = bio; | 1129 | r1_bio->master_bio = bio; |
| 1130 | r1_bio->sectors = (bio->bi_size >> 9) - sectors_handled; | 1130 | r1_bio->sectors = bio_sectors(bio) - sectors_handled; |
| 1131 | r1_bio->state = 0; | 1131 | r1_bio->state = 0; |
| 1132 | r1_bio->mddev = mddev; | 1132 | r1_bio->mddev = mddev; |
| 1133 | r1_bio->sector = bio->bi_sector + sectors_handled; | 1133 | r1_bio->sector = bio->bi_sector + sectors_handled; |
| @@ -1329,14 +1329,14 @@ read_again: | |||
| 1329 | /* Mustn't call r1_bio_write_done before this next test, | 1329 | /* Mustn't call r1_bio_write_done before this next test, |
| 1330 | * as it could result in the bio being freed. | 1330 | * as it could result in the bio being freed. |
| 1331 | */ | 1331 | */ |
| 1332 | if (sectors_handled < (bio->bi_size >> 9)) { | 1332 | if (sectors_handled < bio_sectors(bio)) { |
| 1333 | r1_bio_write_done(r1_bio); | 1333 | r1_bio_write_done(r1_bio); |
| 1334 | /* We need another r1_bio. It has already been counted | 1334 | /* We need another r1_bio. It has already been counted |
| 1335 | * in bio->bi_phys_segments | 1335 | * in bio->bi_phys_segments |
| 1336 | */ | 1336 | */ |
| 1337 | r1_bio = mempool_alloc(conf->r1bio_pool, GFP_NOIO); | 1337 | r1_bio = mempool_alloc(conf->r1bio_pool, GFP_NOIO); |
| 1338 | r1_bio->master_bio = bio; | 1338 | r1_bio->master_bio = bio; |
| 1339 | r1_bio->sectors = (bio->bi_size >> 9) - sectors_handled; | 1339 | r1_bio->sectors = bio_sectors(bio) - sectors_handled; |
| 1340 | r1_bio->state = 0; | 1340 | r1_bio->state = 0; |
| 1341 | r1_bio->mddev = mddev; | 1341 | r1_bio->mddev = mddev; |
| 1342 | r1_bio->sector = bio->bi_sector + sectors_handled; | 1342 | r1_bio->sector = bio->bi_sector + sectors_handled; |
| @@ -1947,7 +1947,7 @@ static void sync_request_write(struct mddev *mddev, struct r1bio *r1_bio) | |||
| 1947 | wbio->bi_rw = WRITE; | 1947 | wbio->bi_rw = WRITE; |
| 1948 | wbio->bi_end_io = end_sync_write; | 1948 | wbio->bi_end_io = end_sync_write; |
| 1949 | atomic_inc(&r1_bio->remaining); | 1949 | atomic_inc(&r1_bio->remaining); |
| 1950 | md_sync_acct(conf->mirrors[i].rdev->bdev, wbio->bi_size >> 9); | 1950 | md_sync_acct(conf->mirrors[i].rdev->bdev, bio_sectors(wbio)); |
| 1951 | 1951 | ||
| 1952 | generic_make_request(wbio); | 1952 | generic_make_request(wbio); |
| 1953 | } | 1953 | } |
| @@ -2284,8 +2284,7 @@ read_more: | |||
| 2284 | r1_bio = mempool_alloc(conf->r1bio_pool, GFP_NOIO); | 2284 | r1_bio = mempool_alloc(conf->r1bio_pool, GFP_NOIO); |
| 2285 | 2285 | ||
| 2286 | r1_bio->master_bio = mbio; | 2286 | r1_bio->master_bio = mbio; |
| 2287 | r1_bio->sectors = (mbio->bi_size >> 9) | 2287 | r1_bio->sectors = bio_sectors(mbio) - sectors_handled; |
| 2288 | - sectors_handled; | ||
| 2289 | r1_bio->state = 0; | 2288 | r1_bio->state = 0; |
| 2290 | set_bit(R1BIO_ReadError, &r1_bio->state); | 2289 | set_bit(R1BIO_ReadError, &r1_bio->state); |
| 2291 | r1_bio->mddev = mddev; | 2290 | r1_bio->mddev = mddev; |
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 77b562d18a90..5ee14ab16a05 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c | |||
| @@ -1169,7 +1169,7 @@ static void make_request(struct mddev *mddev, struct bio * bio) | |||
| 1169 | /* If this request crosses a chunk boundary, we need to | 1169 | /* If this request crosses a chunk boundary, we need to |
| 1170 | * split it. This will only happen for 1 PAGE (or less) requests. | 1170 | * split it. This will only happen for 1 PAGE (or less) requests. |
| 1171 | */ | 1171 | */ |
| 1172 | if (unlikely((bio->bi_sector & chunk_mask) + (bio->bi_size >> 9) | 1172 | if (unlikely((bio->bi_sector & chunk_mask) + bio_sectors(bio) |
| 1173 | > chunk_sects | 1173 | > chunk_sects |
| 1174 | && (conf->geo.near_copies < conf->geo.raid_disks | 1174 | && (conf->geo.near_copies < conf->geo.raid_disks |
| 1175 | || conf->prev.near_copies < conf->prev.raid_disks))) { | 1175 | || conf->prev.near_copies < conf->prev.raid_disks))) { |
| @@ -1209,7 +1209,7 @@ static void make_request(struct mddev *mddev, struct bio * bio) | |||
| 1209 | bad_map: | 1209 | bad_map: |
| 1210 | printk("md/raid10:%s: make_request bug: can't convert block across chunks" | 1210 | printk("md/raid10:%s: make_request bug: can't convert block across chunks" |
| 1211 | " or bigger than %dk %llu %d\n", mdname(mddev), chunk_sects/2, | 1211 | " or bigger than %dk %llu %d\n", mdname(mddev), chunk_sects/2, |
| 1212 | (unsigned long long)bio->bi_sector, bio->bi_size >> 10); | 1212 | (unsigned long long)bio->bi_sector, bio_sectors(bio) / 2); |
| 1213 | 1213 | ||
| 1214 | bio_io_error(bio); | 1214 | bio_io_error(bio); |
| 1215 | return; | 1215 | return; |
| @@ -1224,7 +1224,7 @@ static void make_request(struct mddev *mddev, struct bio * bio) | |||
| 1224 | */ | 1224 | */ |
| 1225 | wait_barrier(conf); | 1225 | wait_barrier(conf); |
| 1226 | 1226 | ||
| 1227 | sectors = bio->bi_size >> 9; | 1227 | sectors = bio_sectors(bio); |
| 1228 | while (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery) && | 1228 | while (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery) && |
| 1229 | bio->bi_sector < conf->reshape_progress && | 1229 | bio->bi_sector < conf->reshape_progress && |
| 1230 | bio->bi_sector + sectors > conf->reshape_progress) { | 1230 | bio->bi_sector + sectors > conf->reshape_progress) { |
| @@ -1326,8 +1326,7 @@ read_again: | |||
| 1326 | r10_bio = mempool_alloc(conf->r10bio_pool, GFP_NOIO); | 1326 | r10_bio = mempool_alloc(conf->r10bio_pool, GFP_NOIO); |
| 1327 | 1327 | ||
| 1328 | r10_bio->master_bio = bio; | 1328 | r10_bio->master_bio = bio; |
| 1329 | r10_bio->sectors = ((bio->bi_size >> 9) | 1329 | r10_bio->sectors = bio_sectors(bio) - sectors_handled; |
| 1330 | - sectors_handled); | ||
| 1331 | r10_bio->state = 0; | 1330 | r10_bio->state = 0; |
| 1332 | r10_bio->mddev = mddev; | 1331 | r10_bio->mddev = mddev; |
| 1333 | r10_bio->sector = bio->bi_sector + sectors_handled; | 1332 | r10_bio->sector = bio->bi_sector + sectors_handled; |
| @@ -1569,7 +1568,7 @@ retry_write: | |||
| 1569 | * after checking if we need to go around again. | 1568 | * after checking if we need to go around again. |
| 1570 | */ | 1569 | */ |
| 1571 | 1570 | ||
| 1572 | if (sectors_handled < (bio->bi_size >> 9)) { | 1571 | if (sectors_handled < bio_sectors(bio)) { |
| 1573 | one_write_done(r10_bio); | 1572 | one_write_done(r10_bio); |
| 1574 | /* We need another r10_bio. It has already been counted | 1573 | /* We need another r10_bio. It has already been counted |
| 1575 | * in bio->bi_phys_segments. | 1574 | * in bio->bi_phys_segments. |
| @@ -1577,7 +1576,7 @@ retry_write: | |||
| 1577 | r10_bio = mempool_alloc(conf->r10bio_pool, GFP_NOIO); | 1576 | r10_bio = mempool_alloc(conf->r10bio_pool, GFP_NOIO); |
| 1578 | 1577 | ||
| 1579 | r10_bio->master_bio = bio; | 1578 | r10_bio->master_bio = bio; |
| 1580 | r10_bio->sectors = (bio->bi_size >> 9) - sectors_handled; | 1579 | r10_bio->sectors = bio_sectors(bio) - sectors_handled; |
| 1581 | 1580 | ||
| 1582 | r10_bio->mddev = mddev; | 1581 | r10_bio->mddev = mddev; |
| 1583 | r10_bio->sector = bio->bi_sector + sectors_handled; | 1582 | r10_bio->sector = bio->bi_sector + sectors_handled; |
| @@ -2103,7 +2102,7 @@ static void sync_request_write(struct mddev *mddev, struct r10bio *r10_bio) | |||
| 2103 | d = r10_bio->devs[i].devnum; | 2102 | d = r10_bio->devs[i].devnum; |
| 2104 | atomic_inc(&conf->mirrors[d].rdev->nr_pending); | 2103 | atomic_inc(&conf->mirrors[d].rdev->nr_pending); |
| 2105 | atomic_inc(&r10_bio->remaining); | 2104 | atomic_inc(&r10_bio->remaining); |
| 2106 | md_sync_acct(conf->mirrors[d].rdev->bdev, tbio->bi_size >> 9); | 2105 | md_sync_acct(conf->mirrors[d].rdev->bdev, bio_sectors(tbio)); |
| 2107 | 2106 | ||
| 2108 | tbio->bi_sector += conf->mirrors[d].rdev->data_offset; | 2107 | tbio->bi_sector += conf->mirrors[d].rdev->data_offset; |
| 2109 | tbio->bi_bdev = conf->mirrors[d].rdev->bdev; | 2108 | tbio->bi_bdev = conf->mirrors[d].rdev->bdev; |
| @@ -2128,7 +2127,7 @@ static void sync_request_write(struct mddev *mddev, struct r10bio *r10_bio) | |||
| 2128 | d = r10_bio->devs[i].devnum; | 2127 | d = r10_bio->devs[i].devnum; |
| 2129 | atomic_inc(&r10_bio->remaining); | 2128 | atomic_inc(&r10_bio->remaining); |
| 2130 | md_sync_acct(conf->mirrors[d].replacement->bdev, | 2129 | md_sync_acct(conf->mirrors[d].replacement->bdev, |
| 2131 | tbio->bi_size >> 9); | 2130 | bio_sectors(tbio)); |
| 2132 | generic_make_request(tbio); | 2131 | generic_make_request(tbio); |
| 2133 | } | 2132 | } |
| 2134 | 2133 | ||
| @@ -2254,13 +2253,13 @@ static void recovery_request_write(struct mddev *mddev, struct r10bio *r10_bio) | |||
| 2254 | wbio2 = r10_bio->devs[1].repl_bio; | 2253 | wbio2 = r10_bio->devs[1].repl_bio; |
| 2255 | if (wbio->bi_end_io) { | 2254 | if (wbio->bi_end_io) { |
| 2256 | atomic_inc(&conf->mirrors[d].rdev->nr_pending); | 2255 | atomic_inc(&conf->mirrors[d].rdev->nr_pending); |
| 2257 | md_sync_acct(conf->mirrors[d].rdev->bdev, wbio->bi_size >> 9); | 2256 | md_sync_acct(conf->mirrors[d].rdev->bdev, bio_sectors(wbio)); |
| 2258 | generic_make_request(wbio); | 2257 | generic_make_request(wbio); |
| 2259 | } | 2258 | } |
| 2260 | if (wbio2 && wbio2->bi_end_io) { | 2259 | if (wbio2 && wbio2->bi_end_io) { |
| 2261 | atomic_inc(&conf->mirrors[d].replacement->nr_pending); | 2260 | atomic_inc(&conf->mirrors[d].replacement->nr_pending); |
| 2262 | md_sync_acct(conf->mirrors[d].replacement->bdev, | 2261 | md_sync_acct(conf->mirrors[d].replacement->bdev, |
| 2263 | wbio2->bi_size >> 9); | 2262 | bio_sectors(wbio2)); |
| 2264 | generic_make_request(wbio2); | 2263 | generic_make_request(wbio2); |
| 2265 | } | 2264 | } |
| 2266 | } | 2265 | } |
| @@ -2690,8 +2689,7 @@ read_more: | |||
| 2690 | r10_bio = mempool_alloc(conf->r10bio_pool, | 2689 | r10_bio = mempool_alloc(conf->r10bio_pool, |
| 2691 | GFP_NOIO); | 2690 | GFP_NOIO); |
| 2692 | r10_bio->master_bio = mbio; | 2691 | r10_bio->master_bio = mbio; |
| 2693 | r10_bio->sectors = (mbio->bi_size >> 9) | 2692 | r10_bio->sectors = bio_sectors(mbio) - sectors_handled; |
| 2694 | - sectors_handled; | ||
| 2695 | r10_bio->state = 0; | 2693 | r10_bio->state = 0; |
| 2696 | set_bit(R10BIO_ReadError, | 2694 | set_bit(R10BIO_ReadError, |
| 2697 | &r10_bio->state); | 2695 | &r10_bio->state); |
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 68706970d217..4e0f87e462ce 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c | |||
| @@ -90,7 +90,7 @@ static inline struct hlist_head *stripe_hash(struct r5conf *conf, sector_t sect) | |||
| 90 | */ | 90 | */ |
| 91 | static inline struct bio *r5_next_bio(struct bio *bio, sector_t sector) | 91 | static inline struct bio *r5_next_bio(struct bio *bio, sector_t sector) |
| 92 | { | 92 | { |
| 93 | int sectors = bio->bi_size >> 9; | 93 | int sectors = bio_sectors(bio); |
| 94 | if (bio->bi_sector + sectors < sector + STRIPE_SECTORS) | 94 | if (bio->bi_sector + sectors < sector + STRIPE_SECTORS) |
| 95 | return bio->bi_next; | 95 | return bio->bi_next; |
| 96 | else | 96 | else |
| @@ -3804,7 +3804,7 @@ static int in_chunk_boundary(struct mddev *mddev, struct bio *bio) | |||
| 3804 | { | 3804 | { |
| 3805 | sector_t sector = bio->bi_sector + get_start_sect(bio->bi_bdev); | 3805 | sector_t sector = bio->bi_sector + get_start_sect(bio->bi_bdev); |
| 3806 | unsigned int chunk_sectors = mddev->chunk_sectors; | 3806 | unsigned int chunk_sectors = mddev->chunk_sectors; |
| 3807 | unsigned int bio_sectors = bio->bi_size >> 9; | 3807 | unsigned int bio_sectors = bio_sectors(bio); |
| 3808 | 3808 | ||
| 3809 | if (mddev->new_chunk_sectors < mddev->chunk_sectors) | 3809 | if (mddev->new_chunk_sectors < mddev->chunk_sectors) |
| 3810 | chunk_sectors = mddev->new_chunk_sectors; | 3810 | chunk_sectors = mddev->new_chunk_sectors; |
| @@ -3894,7 +3894,7 @@ static int bio_fits_rdev(struct bio *bi) | |||
| 3894 | { | 3894 | { |
| 3895 | struct request_queue *q = bdev_get_queue(bi->bi_bdev); | 3895 | struct request_queue *q = bdev_get_queue(bi->bi_bdev); |
| 3896 | 3896 | ||
| 3897 | if ((bi->bi_size>>9) > queue_max_sectors(q)) | 3897 | if (bio_sectors(bi) > queue_max_sectors(q)) |
| 3898 | return 0; | 3898 | return 0; |
| 3899 | blk_recount_segments(q, bi); | 3899 | blk_recount_segments(q, bi); |
| 3900 | if (bi->bi_phys_segments > queue_max_segments(q)) | 3900 | if (bi->bi_phys_segments > queue_max_segments(q)) |
| @@ -3964,7 +3964,7 @@ static int chunk_aligned_read(struct mddev *mddev, struct bio * raid_bio) | |||
| 3964 | align_bi->bi_flags &= ~(1 << BIO_SEG_VALID); | 3964 | align_bi->bi_flags &= ~(1 << BIO_SEG_VALID); |
| 3965 | 3965 | ||
| 3966 | if (!bio_fits_rdev(align_bi) || | 3966 | if (!bio_fits_rdev(align_bi) || |
| 3967 | is_badblock(rdev, align_bi->bi_sector, align_bi->bi_size>>9, | 3967 | is_badblock(rdev, align_bi->bi_sector, bio_sectors(align_bi), |
| 3968 | &first_bad, &bad_sectors)) { | 3968 | &first_bad, &bad_sectors)) { |
| 3969 | /* too big in some way, or has a known bad block */ | 3969 | /* too big in some way, or has a known bad block */ |
| 3970 | bio_put(align_bi); | 3970 | bio_put(align_bi); |
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 5989a92236f7..d90e0485e01b 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c | |||
| @@ -5166,7 +5166,7 @@ static int bio_size_ok(struct block_device *bdev, struct bio *bio, | |||
| 5166 | } | 5166 | } |
| 5167 | 5167 | ||
| 5168 | prev = &bio->bi_io_vec[bio->bi_vcnt - 1]; | 5168 | prev = &bio->bi_io_vec[bio->bi_vcnt - 1]; |
| 5169 | if ((bio->bi_size >> 9) > max_sectors) | 5169 | if (bio_sectors(bio) > max_sectors) |
| 5170 | return 0; | 5170 | return 0; |
| 5171 | 5171 | ||
| 5172 | if (!q->merge_bvec_fn) | 5172 | if (!q->merge_bvec_fn) |
diff --git a/include/trace/events/block.h b/include/trace/events/block.h index 9961726523d0..5a28843725df 100644 --- a/include/trace/events/block.h +++ b/include/trace/events/block.h | |||
| @@ -244,7 +244,7 @@ TRACE_EVENT(block_bio_bounce, | |||
| 244 | __entry->dev = bio->bi_bdev ? | 244 | __entry->dev = bio->bi_bdev ? |
| 245 | bio->bi_bdev->bd_dev : 0; | 245 | bio->bi_bdev->bd_dev : 0; |
| 246 | __entry->sector = bio->bi_sector; | 246 | __entry->sector = bio->bi_sector; |
| 247 | __entry->nr_sector = bio->bi_size >> 9; | 247 | __entry->nr_sector = bio_sectors(bio); |
| 248 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); | 248 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); |
| 249 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | 249 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); |
| 250 | ), | 250 | ), |
| @@ -281,7 +281,7 @@ TRACE_EVENT(block_bio_complete, | |||
| 281 | __entry->dev = bio->bi_bdev ? | 281 | __entry->dev = bio->bi_bdev ? |
| 282 | bio->bi_bdev->bd_dev : 0; | 282 | bio->bi_bdev->bd_dev : 0; |
| 283 | __entry->sector = bio->bi_sector; | 283 | __entry->sector = bio->bi_sector; |
| 284 | __entry->nr_sector = bio->bi_size >> 9; | 284 | __entry->nr_sector = bio_sectors(bio); |
| 285 | __entry->error = error; | 285 | __entry->error = error; |
| 286 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); | 286 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); |
| 287 | ), | 287 | ), |
| @@ -309,7 +309,7 @@ DECLARE_EVENT_CLASS(block_bio_merge, | |||
| 309 | TP_fast_assign( | 309 | TP_fast_assign( |
| 310 | __entry->dev = bio->bi_bdev->bd_dev; | 310 | __entry->dev = bio->bi_bdev->bd_dev; |
| 311 | __entry->sector = bio->bi_sector; | 311 | __entry->sector = bio->bi_sector; |
| 312 | __entry->nr_sector = bio->bi_size >> 9; | 312 | __entry->nr_sector = bio_sectors(bio); |
| 313 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); | 313 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); |
| 314 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | 314 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); |
| 315 | ), | 315 | ), |
| @@ -376,7 +376,7 @@ TRACE_EVENT(block_bio_queue, | |||
| 376 | TP_fast_assign( | 376 | TP_fast_assign( |
| 377 | __entry->dev = bio->bi_bdev->bd_dev; | 377 | __entry->dev = bio->bi_bdev->bd_dev; |
| 378 | __entry->sector = bio->bi_sector; | 378 | __entry->sector = bio->bi_sector; |
| 379 | __entry->nr_sector = bio->bi_size >> 9; | 379 | __entry->nr_sector = bio_sectors(bio); |
| 380 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); | 380 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); |
| 381 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | 381 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); |
| 382 | ), | 382 | ), |
| @@ -404,7 +404,7 @@ DECLARE_EVENT_CLASS(block_get_rq, | |||
| 404 | TP_fast_assign( | 404 | TP_fast_assign( |
| 405 | __entry->dev = bio ? bio->bi_bdev->bd_dev : 0; | 405 | __entry->dev = bio ? bio->bi_bdev->bd_dev : 0; |
| 406 | __entry->sector = bio ? bio->bi_sector : 0; | 406 | __entry->sector = bio ? bio->bi_sector : 0; |
| 407 | __entry->nr_sector = bio ? bio->bi_size >> 9 : 0; | 407 | __entry->nr_sector = bio ? bio_sectors(bio) : 0; |
| 408 | blk_fill_rwbs(__entry->rwbs, | 408 | blk_fill_rwbs(__entry->rwbs, |
| 409 | bio ? bio->bi_rw : 0, __entry->nr_sector); | 409 | bio ? bio->bi_rw : 0, __entry->nr_sector); |
| 410 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | 410 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); |
| @@ -580,7 +580,7 @@ TRACE_EVENT(block_bio_remap, | |||
| 580 | TP_fast_assign( | 580 | TP_fast_assign( |
| 581 | __entry->dev = bio->bi_bdev->bd_dev; | 581 | __entry->dev = bio->bi_bdev->bd_dev; |
| 582 | __entry->sector = bio->bi_sector; | 582 | __entry->sector = bio->bi_sector; |
| 583 | __entry->nr_sector = bio->bi_size >> 9; | 583 | __entry->nr_sector = bio_sectors(bio); |
| 584 | __entry->old_dev = dev; | 584 | __entry->old_dev = dev; |
| 585 | __entry->old_sector = from; | 585 | __entry->old_sector = from; |
| 586 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); | 586 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); |
