diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2021-10-20 00:24:14 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-10-20 17:08:07 +0300 |
commit | c809084ab033a8d4ee404e2ac3c5d3dc80cb65f7 (patch) | |
tree | 67fa1fdc8cdd25c8f5ba1d59ee02b5b0ae6038c7 /include/linux/bio.h | |
parent | 1497a51a3287959a9eb74e0432203ba3e2dc7347 (diff) | |
download | linux-c809084ab033a8d4ee404e2ac3c5d3dc80cb65f7.tar.xz |
block: inline a part of bio_release_pages()
Inline BIO_NO_PAGE_REF check of bio_release_pages() to avoid function
call.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/bio.h')
-rw-r--r-- | include/linux/bio.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h index b12453d7b8a8..c88700d1bdc3 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -417,7 +417,7 @@ int bio_add_zone_append_page(struct bio *bio, struct page *page, void __bio_add_page(struct bio *bio, struct page *page, unsigned int len, unsigned int off); int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter); -void bio_release_pages(struct bio *bio, bool mark_dirty); +void __bio_release_pages(struct bio *bio, bool mark_dirty); extern void bio_set_pages_dirty(struct bio *bio); extern void bio_check_pages_dirty(struct bio *bio); @@ -428,6 +428,12 @@ extern void bio_free_pages(struct bio *bio); void guard_bio_eod(struct bio *bio); void zero_fill_bio(struct bio *bio); +static inline void bio_release_pages(struct bio *bio, bool mark_dirty) +{ + if (!bio_flagged(bio, BIO_NO_PAGE_REF)) + __bio_release_pages(bio, mark_dirty); +} + extern const char *bio_devname(struct bio *bio, char *buffer); #define bio_dev(bio) \ |