btrfs: use __bio_add_page for adding a single page in repair_one_sector
authorJohannes Thumshirn <johannes.thumshirn@wdc.com>
Thu, 30 Mar 2023 10:43:50 +0000 (03:43 -0700)
committerDavid Sterba <dsterba@suse.com>
Mon, 17 Apr 2023 16:01:20 +0000 (18:01 +0200)
The btrfs repair bio submission 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.

Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/bio.c

index cf09c62..89c1a0d 100644 (file)
@@ -227,7 +227,7 @@ static struct btrfs_failed_bio *repair_one_sector(struct btrfs_bio *failed_bbio,
        repair_bio = bio_alloc_bioset(NULL, 1, REQ_OP_READ, GFP_NOFS,
                                      &btrfs_repair_bioset);
        repair_bio->bi_iter.bi_sector = failed_bbio->saved_iter.bi_sector;
-       bio_add_page(repair_bio, bv->bv_page, bv->bv_len, bv->bv_offset);
+       __bio_add_page(repair_bio, bv->bv_page, bv->bv_len, bv->bv_offset);
 
        repair_bbio = btrfs_bio(repair_bio);
        btrfs_bio_init(repair_bbio, failed_bbio->inode, NULL, fbio);