]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
brd: remove the sector variable in brd_submit_bio
authorChristoph Hellwig <hch@lst.de>
Mon, 28 Apr 2025 14:09:48 +0000 (07:09 -0700)
committerJens Axboe <axboe@kernel.dk>
Mon, 28 Apr 2025 17:45:40 +0000 (11:45 -0600)
The bvec iter iterates over the sector already, no need to duplicate the
work.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Link: https://lore.kernel.org/r/20250428141014.2360063-3-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/brd.c

index c8974bc545fbe2db50a5ddcecfe28cffbccba893..91eb501263556298ab1db3de2580c928946e6076 100644 (file)
@@ -241,12 +241,12 @@ static void brd_do_discard(struct brd_device *brd, sector_t sector, u32 size)
 static void brd_submit_bio(struct bio *bio)
 {
        struct brd_device *brd = bio->bi_bdev->bd_disk->private_data;
-       sector_t sector = bio->bi_iter.bi_sector;
        struct bio_vec bvec;
        struct bvec_iter iter;
 
        if (unlikely(op_is_discard(bio->bi_opf))) {
-               brd_do_discard(brd, sector, bio->bi_iter.bi_size);
+               brd_do_discard(brd, bio->bi_iter.bi_sector,
+                               bio->bi_iter.bi_size);
                bio_endio(bio);
                return;
        }
@@ -254,7 +254,7 @@ static void brd_submit_bio(struct bio *bio)
        bio_for_each_segment(bvec, bio, iter) {
                int err;
 
-               err = brd_rw_bvec(brd, &bvec, bio->bi_opf, sector);
+               err = brd_rw_bvec(brd, &bvec, bio->bi_opf, iter.bi_sector);
                if (err) {
                        if (err == -ENOMEM && bio->bi_opf & REQ_NOWAIT) {
                                bio_wouldblock_error(bio);
@@ -263,7 +263,6 @@ static void brd_submit_bio(struct bio *bio)
                        bio_io_error(bio);
                        return;
                }
-               sector += bvec.bv_len >> SECTOR_SHIFT;
        }
 
        bio_endio(bio);