raid5: remove a call to get_start_sect
authorChristoph Hellwig <hch@lst.de>
Wed, 23 Aug 2017 17:10:28 +0000 (19:10 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 23 Aug 2017 18:49:49 +0000 (12:49 -0600)
The block layer always remaps partitions before calling into the
->make_request methods of drivers.  Thus the call to get_start_sect in
in_chunk_boundary will always return 0 and can be removed.

Reviewed-by: Shaohua Li <shli@fb.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/raid5.c

index 0fc2748aaf95a48a4b1fb227d3b80bffe9cea8d5..d687aeb1b5382e00d44fbb2b4ebe17f2ba0303b2 100644 (file)
@@ -5092,10 +5092,12 @@ static int raid5_congested(struct mddev *mddev, int bits)
 static int in_chunk_boundary(struct mddev *mddev, struct bio *bio)
 {
        struct r5conf *conf = mddev->private;
-       sector_t sector = bio->bi_iter.bi_sector + get_start_sect(bio->bi_bdev);
+       sector_t sector = bio->bi_iter.bi_sector;
        unsigned int chunk_sectors;
        unsigned int bio_sectors = bio_sectors(bio);
 
+       WARN_ON_ONCE(bio->bi_partno);
+
        chunk_sectors = min(conf->chunk_sectors, conf->prev_chunk_sectors);
        return  chunk_sectors >=
                ((sector & (chunk_sectors - 1)) + bio_sectors);