2023-07-20 13:27:16

by zhangpeng (AS)

[permalink] [raw]
Subject: [PATCH v3 03/10] mm/page_io: introduce bio_first_folio_all()

From: ZhangPeng <[email protected]>

Introduce bio_first_folio_all() to return a folio, which makes it easier
to use.

Suggested-by: Matthew Wilcox (Oracle) <[email protected]>
Signed-off-by: ZhangPeng <[email protected]>
---
Documentation/block/biovecs.rst | 1 +
include/linux/bio.h | 5 +++++
2 files changed, 6 insertions(+)

diff --git a/Documentation/block/biovecs.rst b/Documentation/block/biovecs.rst
index ddb867e0185b..b9dc0c9dbee4 100644
--- a/Documentation/block/biovecs.rst
+++ b/Documentation/block/biovecs.rst
@@ -134,6 +134,7 @@ Usage of helpers:
bio_for_each_bvec_all()
bio_first_bvec_all()
bio_first_page_all()
+ bio_first_folio_all()
bio_last_bvec_all()

* The following helpers iterate over single-page segment. The passed 'struct
diff --git a/include/linux/bio.h b/include/linux/bio.h
index c4f5b5228105..027ff9ab5d12 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -253,6 +253,11 @@ static inline struct page *bio_first_page_all(struct bio *bio)
return bio_first_bvec_all(bio)->bv_page;
}

+static inline struct folio *bio_first_folio_all(struct bio *bio)
+{
+ return page_folio(bio_first_page_all(bio));
+}
+
static inline struct bio_vec *bio_last_bvec_all(struct bio *bio)
{
WARN_ON_ONCE(bio_flagged(bio, BIO_CLONED));
--
2.25.1