md: use __bio_add_page to add single page
authorJohannes Thumshirn <johannes.thumshirn@wdc.com>
Wed, 31 May 2023 11:50:28 +0000 (04:50 -0700)
committerJens Axboe <axboe@kernel.dk>
Wed, 31 May 2023 15:50:02 +0000 (09:50 -0600)
The md-raid superblock writing code uses bio_add_page() to add a page to a
newly created bio. bio_add_page() can fail, but the return value is never
checked.

Use __bio_add_page() as adding a single page to a newly created bio is
guaranteed to succeed.

This brings us a step closer to marking bio_add_page() as __must_check.

Signed-of_-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Song Liu <song@kernel.org>
Link: https://lore.kernel.org/r/ca196f5e650e318106dbb4496eb6cbac4bc800bd.1685532726.git.johannes.thumshirn@wdc.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/md.c

index 8e344b4b34446f784b8f111d2ec3c34024285b00..6a559a7e89c07f232a879b5efa04c29059f02893 100644 (file)
@@ -938,7 +938,7 @@ void md_super_write(struct mddev *mddev, struct md_rdev *rdev,
        atomic_inc(&rdev->nr_pending);
 
        bio->bi_iter.bi_sector = sector;
-       bio_add_page(bio, page, size, 0);
+       __bio_add_page(bio, page, size, 0);
        bio->bi_private = rdev;
        bio->bi_end_io = super_written;
 
@@ -979,7 +979,7 @@ int sync_page_io(struct md_rdev *rdev, sector_t sector, int size,
                bio.bi_iter.bi_sector = sector + rdev->new_data_offset;
        else
                bio.bi_iter.bi_sector = sector + rdev->data_offset;
-       bio_add_page(&bio, page, size, 0);
+       __bio_add_page(&bio, page, size, 0);
 
        submit_bio_wait(&bio);