From: Chao Yu via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: linux-fscrypt@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net
Cc: Eric Biggers <ebiggers@kernel.org>,
jaegeuk@kernel.org, linux-kernel@vger.kernel.org,
Matthew Wilcox <willy@infradead.org>
Subject: [f2fs-dev] [PATCH] fscrypt, f2fs: introduce fscrypt_finalize_bounce_folio() for cleanup
Date: Mon, 22 Jun 2026 01:15:39 +0000 [thread overview]
Message-ID: <20260622011539.2292553-1-chao@kernel.org> (raw)
As part of the linux kernel's migration to folio-based APIs, introduce
fscrypt_finalize_bounce_folio() as the folio equivalent of
fscrypt_finalize_bounce_page(), and clean up f2fs codes with this new
helper.
Suggested-by: Matthew Wilcox <willy@infradead.org>
Cc: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Chao Yu <chao@kernel.org>
---
Is it worth to introduce fscrypt_finalize_bounce_folio(), then try to
do clean in f2fs_write_end_bio() first, and then replace
fscrypt_finalize_bounce_page() later?
fs/f2fs/data.c | 7 +------
include/linux/fscrypt.h | 11 +++++++++++
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index ac1cf4de3d62..e0fca6c60e34 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -362,12 +362,7 @@ static void f2fs_write_end_bio(struct bio *bio)
struct folio *folio = fi.folio;
enum count_type type;
- if (fscrypt_is_bounce_folio(folio)) {
- struct folio *io_folio = folio;
-
- folio = fscrypt_pagecache_folio(io_folio);
- fscrypt_free_bounce_page(&io_folio->page);
- }
+ fscrypt_finalize_bounce_folio(&folio);
#ifdef CONFIG_F2FS_FS_COMPRESSION
if (f2fs_is_compressed_page(folio)) {
diff --git a/include/linux/fscrypt.h b/include/linux/fscrypt.h
index 54712ec61ffb..20b59b021c94 100644
--- a/include/linux/fscrypt.h
+++ b/include/linux/fscrypt.h
@@ -1132,4 +1132,15 @@ static inline void fscrypt_finalize_bounce_page(struct page **pagep)
}
}
+/* If *foliop is a bounce folio, free it and set *foliop to the pagecache folio */
+static inline void fscrypt_finalize_bounce_folio(struct folio **foliop)
+{
+ struct folio *folio = *foliop;
+
+ if (fscrypt_is_bounce_folio(folio)) {
+ *foliop = fscrypt_pagecache_folio(folio);
+ fscrypt_free_bounce_page(&folio->page);
+ }
+}
+
#endif /* _LINUX_FSCRYPT_H */
--
2.49.0
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
WARNING: multiple messages have this Message-ID (diff)
From: Chao Yu <chao@kernel.org>
To: linux-fscrypt@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net
Cc: linux-kernel@vger.kernel.org, jaegeuk@kernel.org,
Chao Yu <chao@kernel.org>, Matthew Wilcox <willy@infradead.org>,
Eric Biggers <ebiggers@kernel.org>
Subject: [PATCH] fscrypt,f2fs: introduce fscrypt_finalize_bounce_folio() for cleanup
Date: Mon, 22 Jun 2026 01:15:39 +0000 [thread overview]
Message-ID: <20260622011539.2292553-1-chao@kernel.org> (raw)
As part of the linux kernel's migration to folio-based APIs, introduce
fscrypt_finalize_bounce_folio() as the folio equivalent of
fscrypt_finalize_bounce_page(), and clean up f2fs codes with this new
helper.
Suggested-by: Matthew Wilcox <willy@infradead.org>
Cc: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Chao Yu <chao@kernel.org>
---
Is it worth to introduce fscrypt_finalize_bounce_folio(), then try to
do clean in f2fs_write_end_bio() first, and then replace
fscrypt_finalize_bounce_page() later?
fs/f2fs/data.c | 7 +------
include/linux/fscrypt.h | 11 +++++++++++
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index ac1cf4de3d62..e0fca6c60e34 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -362,12 +362,7 @@ static void f2fs_write_end_bio(struct bio *bio)
struct folio *folio = fi.folio;
enum count_type type;
- if (fscrypt_is_bounce_folio(folio)) {
- struct folio *io_folio = folio;
-
- folio = fscrypt_pagecache_folio(io_folio);
- fscrypt_free_bounce_page(&io_folio->page);
- }
+ fscrypt_finalize_bounce_folio(&folio);
#ifdef CONFIG_F2FS_FS_COMPRESSION
if (f2fs_is_compressed_page(folio)) {
diff --git a/include/linux/fscrypt.h b/include/linux/fscrypt.h
index 54712ec61ffb..20b59b021c94 100644
--- a/include/linux/fscrypt.h
+++ b/include/linux/fscrypt.h
@@ -1132,4 +1132,15 @@ static inline void fscrypt_finalize_bounce_page(struct page **pagep)
}
}
+/* If *foliop is a bounce folio, free it and set *foliop to the pagecache folio */
+static inline void fscrypt_finalize_bounce_folio(struct folio **foliop)
+{
+ struct folio *folio = *foliop;
+
+ if (fscrypt_is_bounce_folio(folio)) {
+ *foliop = fscrypt_pagecache_folio(folio);
+ fscrypt_free_bounce_page(&folio->page);
+ }
+}
+
#endif /* _LINUX_FSCRYPT_H */
--
2.49.0
next reply other threads:[~2026-06-22 1:16 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-22 1:15 Chao Yu via Linux-f2fs-devel [this message]
2026-06-22 1:15 ` [PATCH] fscrypt,f2fs: introduce fscrypt_finalize_bounce_folio() for cleanup Chao Yu
2026-06-23 23:29 ` [f2fs-dev] [PATCH] fscrypt, f2fs: " Eric Biggers via Linux-f2fs-devel
2026-06-23 23:29 ` [PATCH] fscrypt,f2fs: " Eric Biggers
2026-06-24 8:28 ` Chao Yu
2026-06-24 8:28 ` [f2fs-dev] [PATCH] fscrypt, f2fs: " Chao Yu via Linux-f2fs-devel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260622011539.2292553-1-chao@kernel.org \
--to=linux-f2fs-devel@lists.sourceforge.net \
--cc=chao@kernel.org \
--cc=ebiggers@kernel.org \
--cc=jaegeuk@kernel.org \
--cc=linux-fscrypt@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.