linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
To: Jaegeuk Kim <jaegeuk@kernel.org>, Chao Yu <chao@kernel.org>
Cc: "Matthew Wilcox \(Oracle\)" <willy@infradead.org>,
	linux-f2fs-devel@lists.sourceforge.net
Subject: [f2fs-dev] [PATCH 49/60] f2fs: Pass a folio to f2fs_is_compressed_page()
Date: Tue,  8 Jul 2025 18:03:46 +0100	[thread overview]
Message-ID: <20250708170359.111653-50-willy@infradead.org> (raw)
In-Reply-To: <20250708170359.111653-1-willy@infradead.org>

All callers now have a folio so pass it in.  Also remove the test for
the private flag; it is redundant with checking folio->private for being
NULL.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
 fs/f2fs/compress.c | 14 ++++++--------
 fs/f2fs/data.c     | 10 +++++-----
 fs/f2fs/f2fs.h     |  4 ++--
 3 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
index 5847d22a5833..24c7489b7427 100644
--- a/fs/f2fs/compress.c
+++ b/fs/f2fs/compress.c
@@ -71,17 +71,15 @@ static pgoff_t start_idx_of_cluster(struct compress_ctx *cc)
 	return cc->cluster_idx << cc->log_cluster_size;
 }
 
-bool f2fs_is_compressed_page(struct page *page)
+bool f2fs_is_compressed_page(struct folio *folio)
 {
-	if (!PagePrivate(page))
+	if (!folio->private)
 		return false;
-	if (!page_private(page))
-		return false;
-	if (page_private_nonpointer(page))
+	if (folio_test_f2fs_nonpointer(folio))
 		return false;
 
-	f2fs_bug_on(F2FS_P_SB(page),
-		*((u32 *)page_private(page)) != F2FS_COMPRESSED_PAGE_MAGIC);
+	f2fs_bug_on(F2FS_F_SB(folio),
+		*((u32 *)folio->private) != F2FS_COMPRESSED_PAGE_MAGIC);
 	return true;
 }
 
@@ -1478,7 +1476,7 @@ void f2fs_compress_write_end_io(struct bio *bio, struct folio *folio)
 	struct f2fs_sb_info *sbi = bio->bi_private;
 	struct compress_io_ctx *cic = folio->private;
 	enum count_type type = WB_DATA_TYPE(folio,
-				f2fs_is_compressed_page(page));
+				f2fs_is_compressed_page(folio));
 	int i;
 
 	if (unlikely(bio->bi_status != BLK_STS_OK))
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index cf2c146944bf..116482adf591 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -142,7 +142,7 @@ static void f2fs_finish_read_bio(struct bio *bio, bool in_task)
 	bio_for_each_folio_all(fi, bio) {
 		struct folio *folio = fi.folio;
 
-		if (f2fs_is_compressed_page(&folio->page)) {
+		if (f2fs_is_compressed_page(folio)) {
 			if (ctx && !ctx->decompression_attempted)
 				f2fs_end_read_compressed_page(folio, true, 0,
 							in_task);
@@ -186,7 +186,7 @@ static void f2fs_verify_bio(struct work_struct *work)
 		bio_for_each_folio_all(fi, bio) {
 			struct folio *folio = fi.folio;
 
-			if (!f2fs_is_compressed_page(&folio->page) &&
+			if (!f2fs_is_compressed_page(folio) &&
 			    !fsverity_verify_page(&folio->page)) {
 				bio->bi_status = BLK_STS_IOERR;
 				break;
@@ -239,7 +239,7 @@ static void f2fs_handle_step_decompress(struct bio_post_read_ctx *ctx,
 	bio_for_each_folio_all(fi, ctx->bio) {
 		struct folio *folio = fi.folio;
 
-		if (f2fs_is_compressed_page(&folio->page))
+		if (f2fs_is_compressed_page(folio))
 			f2fs_end_read_compressed_page(folio, false, blkaddr,
 						      in_task);
 		else
@@ -337,7 +337,7 @@ static void f2fs_write_end_io(struct bio *bio)
 		}
 
 #ifdef CONFIG_F2FS_FS_COMPRESSION
-		if (f2fs_is_compressed_page(&folio->page)) {
+		if (f2fs_is_compressed_page(folio)) {
 			f2fs_compress_write_end_io(bio, folio);
 			continue;
 		}
@@ -561,7 +561,7 @@ static bool __has_merged_page(struct bio *bio, struct inode *inode,
 			if (IS_ERR(target))
 				continue;
 		}
-		if (f2fs_is_compressed_page(&target->page)) {
+		if (f2fs_is_compressed_page(target)) {
 			target = f2fs_compress_control_folio(target);
 			if (IS_ERR(target))
 				continue;
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 68535b917a3a..48b15e44a41c 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -4474,7 +4474,7 @@ enum cluster_check_type {
 	CLUSTER_COMPR_BLKS, /* return # of compressed blocks in a cluster */
 	CLUSTER_RAW_BLKS    /* return # of raw blocks in a cluster */
 };
-bool f2fs_is_compressed_page(struct page *page);
+bool f2fs_is_compressed_page(struct folio *folio);
 struct folio *f2fs_compress_control_folio(struct folio *folio);
 int f2fs_prepare_compress_overwrite(struct inode *inode,
 			struct page **pagep, pgoff_t index, void **fsdata);
@@ -4543,7 +4543,7 @@ void f2fs_invalidate_compress_pages(struct f2fs_sb_info *sbi, nid_t ino);
 		sbi->compr_saved_block += diff;				\
 	} while (0)
 #else
-static inline bool f2fs_is_compressed_page(struct page *page) { return false; }
+static inline bool f2fs_is_compressed_page(struct folio *folio) { return false; }
 static inline bool f2fs_is_compress_backend_ready(struct inode *inode)
 {
 	if (!f2fs_compressed_file(inode))
-- 
2.47.2



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

  parent reply	other threads:[~2025-07-08 17:04 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-08 17:02 [f2fs-dev] [PATCH 00/60] f2fs folio conversions for 6.17 Matthew Wilcox (Oracle)
2025-07-08 17:02 ` [f2fs-dev] [PATCH 01/60] f2fs: Pass a folio to recover_dentry() Matthew Wilcox (Oracle)
2025-07-08 17:02 ` [f2fs-dev] [PATCH 02/60] f2fs: Pass a folio to recover_inode() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 03/60] f2fs: Pass a folio to recover_quota_data() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 04/60] f2fs: Pass a folio to f2fs_recover_inode_page() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 05/60] f2fs: Pass a folio to sanity_check_extent_cache() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 06/60] f2fs: Pass a folio to sanity_check_inode() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 07/60] f2fs: Pass a folio to f2fs_sanity_check_inline_data() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 08/60] f2fs: Pass a folio to inode_has_blocks() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 09/60] f2fs: Pass a folio to F2FS_INODE() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 10/60] f2fs: Pass a folio to ino_of_node() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 11/60] f2fs: Pass a folio to nid_of_node() Matthew Wilcox (Oracle)
2025-07-09 19:56   ` Jaegeuk Kim via Linux-f2fs-devel
2025-07-08 17:03 ` [f2fs-dev] [PATCH 12/60] f2fs: Pass a folio to is_recoverable_dnode() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 13/60] f2fs: Pass a folio to set_dentry_mark() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 14/60] f2fs: Pass a folio to set_fsync_mark() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 15/60] f2fs: Pass a folio to set_mark() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 16/60] f2fs: Pass a folio to f2fs_allocate_data_block() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 17/60] f2fs: Pass a folio to f2fs_inode_chksum_set() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 18/60] f2fs: Pass a folio to f2fs_enable_inode_chksum() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 19/60] f2fs: Pass a folio to f2fs_inode_chksum() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 20/60] f2fs: Pass a folio to fill_node_footer_blkaddr() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 21/60] f2fs: Pass a folio to get_nid() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 22/60] f2fs: Pass a folio to set_cold_node() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 23/60] f2fs: Pass folios to copy_node_footer() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 24/60] f2fs: Pass a folio to fill_node_footer() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 25/60] f2fs: Pass a folio to cpver_of_node() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 26/60] f2fs: Pass a folio to f2fs_recover_xattr_data() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 27/60] f2fs: Pass a folio to is_fsync_dnode() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 28/60] f2fs: Pass a folio to is_dent_dnode() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 29/60] f2fs: Add fio->folio Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 30/60] f2fs: Use folio_unlock() in f2fs_write_compressed_pages() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 31/60] f2fs: Pass a folio to is_cold_node() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 32/60] f2fs: Pass a folio to is_node() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 33/60] f2fs: Pass a folio to IS_DNODE() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 34/60] f2fs: Pass a folio to ofs_of_node() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 35/60] f2fs: Pass a folio to get_dnode_base() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 36/60] f2fs: Pass a folio to ADDRS_PER_PAGE() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 37/60] f2fs: Pass a folio to IS_INODE() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 38/60] f2fs: Add folio counterparts to page_private_flags functions Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 39/60] f2fs: Use a folio in f2fs_is_cp_guaranteed() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 40/60] f2fs: Convert set_page_private_data() to folio_set_f2fs_data() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 41/60] f2fs: Convert get_page_private_data() to folio_get_f2fs_data() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 42/60] f2fs: Pass a folio to f2fs_compress_write_end_io() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 43/60] f2fs: Use a folio in f2fs_merge_page_bio() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 44/60] f2fs: Use a bio in f2fs_submit_page_write() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 45/60] f2fs: Pass a folio to WB_DATA_TYPE() and f2fs_is_cp_guaranteed() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 46/60] f2fs: Use a folio iterator in f2fs_handle_step_decompress() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 47/60] f2fs: Pass a folio to f2fs_end_read_compressed_page() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 48/60] f2fs: Use a folio iterator in f2fs_verify_bio() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` Matthew Wilcox (Oracle) [this message]
2025-07-22  6:54   ` [f2fs-dev] [PATCH 49/60] f2fs: Pass a folio to f2fs_is_compressed_page() Chao Yu via Linux-f2fs-devel
2025-07-08 17:03 ` [f2fs-dev] [PATCH 50/60] f2fs: Convert get_next_nat_page() to get_next_nat_folio() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 51/60] f2fs: Pass the nat_blk to __update_nat_bits() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 52/60] f2fs: Pass a folio to F2FS_NODE() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 53/60] f2fs: Pass a folio to f2fs_cache_compressed_page() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 54/60] f2fs: Use a folio in f2fs_encrypted_get_link() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 55/60] f2fs: Use F2FS_F_SB() in f2fs_read_end_io() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 56/60] f2fs: Remove clear_page_private_all() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 57/60] f2fs: Remove use of page from f2fs_write_single_data_page() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 58/60] f2fs: Pass a folio to f2fs_submit_merged_write_cond() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 59/60] f2fs: Pass a folio to __has_merged_page() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 60/60] f2fs: Remove F2FS_P_SB() Matthew Wilcox (Oracle)
2025-07-11 16:20 ` [f2fs-dev] [PATCH 00/60] f2fs folio conversions for 6.17 patchwork-bot+f2fs--- via Linux-f2fs-devel
2025-07-22  7:03 ` 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=20250708170359.111653-50-willy@infradead.org \
    --to=willy@infradead.org \
    --cc=chao@kernel.org \
    --cc=jaegeuk@kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).