Message ID | f67cc9c310bed1e3c3302ea1c206da7d5ebc14cb.1685461490.git.johannes.thumshirn@wdc.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | bio: check return values of bio_add_page | expand |
On 5/30/23 23:49, Johannes Thumshirn wrote: > The buffer_head 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: Gou Hao <gouhao@uniontech.com> > --- > fs/buffer.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/fs/buffer.c b/fs/buffer.c > index a7fc561758b1..63da30ce946a 100644 > --- a/fs/buffer.c > +++ b/fs/buffer.c > @@ -2760,8 +2760,7 @@ static void submit_bh_wbc(blk_opf_t opf, struct buffer_head *bh, > > bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9); > > - bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh)); > - BUG_ON(bio->bi_iter.bi_size != bh->b_size); > + __bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh)); > > bio->bi_end_io = end_bio_bh_io_sync; > bio->bi_private = bh;
Looks good:
Reviewed-by: Christoph Hellwig <hch@lst.de>
diff --git a/fs/buffer.c b/fs/buffer.c index a7fc561758b1..63da30ce946a 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -2760,8 +2760,7 @@ static void submit_bh_wbc(blk_opf_t opf, struct buffer_head *bh, bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9); - bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh)); - BUG_ON(bio->bi_iter.bi_size != bh->b_size); + __bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh)); bio->bi_end_io = end_bio_bh_io_sync; bio->bi_private = bh;