Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

block: add bio_add_folio_nofail

Just like for bio_add_pages() add a no-fail variant for bio_add_folio().

Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/924dff4077812804398ef84128fb920507fa4be1.1685532726.git.johannes.thumshirn@wdc.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>

authored by

Johannes Thumshirn and committed by
Jens Axboe
7a150f1e 83f2caaa

+10
+8
block/bio.c
··· 1138 1138 } 1139 1139 EXPORT_SYMBOL(bio_add_page); 1140 1140 1141 + void bio_add_folio_nofail(struct bio *bio, struct folio *folio, size_t len, 1142 + size_t off) 1143 + { 1144 + WARN_ON_ONCE(len > UINT_MAX); 1145 + WARN_ON_ONCE(off > UINT_MAX); 1146 + __bio_add_page(bio, &folio->page, len, off); 1147 + } 1148 + 1141 1149 /** 1142 1150 * bio_add_folio - Attempt to add part of a folio to a bio. 1143 1151 * @bio: BIO to add to.
+2
include/linux/bio.h
··· 474 474 unsigned int len, unsigned int offset); 475 475 void __bio_add_page(struct bio *bio, struct page *page, 476 476 unsigned int len, unsigned int off); 477 + void bio_add_folio_nofail(struct bio *bio, struct folio *folio, size_t len, 478 + size_t off); 477 479 int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter); 478 480 void bio_iov_bvec_set(struct bio *bio, struct iov_iter *iter); 479 481 void __bio_release_pages(struct bio *bio, bool mark_dirty);