]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
f2fs: Pass a folio to f2fs_end_read_compressed_page()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 8 Jul 2025 17:03:44 +0000 (18:03 +0100)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 22 Jul 2025 15:57:32 +0000 (15:57 +0000)
Both callers now have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/compress.c
fs/f2fs/data.c
fs/f2fs/f2fs.h

index 10b4230607de7ef9da045d6f9fe5e89c563ba83a..5847d22a58336f4eb221c57ca6945c599cdfef7e 100644 (file)
@@ -801,11 +801,10 @@ out_end_io:
  * page being waited on in the cluster, and if so, it decompresses the cluster
  * (or in the case of a failure, cleans up without actually decompressing).
  */
-void f2fs_end_read_compressed_page(struct page *page, bool failed,
+void f2fs_end_read_compressed_page(struct folio *folio, bool failed,
                block_t blkaddr, bool in_task)
 {
-       struct decompress_io_ctx *dic =
-                       (struct decompress_io_ctx *)page_private(page);
+       struct decompress_io_ctx *dic = folio->private;
        struct f2fs_sb_info *sbi = dic->sbi;
 
        dec_page_count(sbi, F2FS_RD_DATA);
@@ -813,7 +812,7 @@ void f2fs_end_read_compressed_page(struct page *page, bool failed,
        if (failed)
                WRITE_ONCE(dic->failed, true);
        else if (blkaddr && in_task)
-               f2fs_cache_compressed_page(sbi, page,
+               f2fs_cache_compressed_page(sbi, &folio->page,
                                        dic->inode->i_ino, blkaddr);
 
        if (atomic_dec_and_test(&dic->remaining_pages))
index 47c10cec15409ae8d63e3300ed15641b61c9d578..092c9871acdff14db2ed87cf138120b5fc262820 100644 (file)
@@ -144,7 +144,7 @@ static void f2fs_finish_read_bio(struct bio *bio, bool in_task)
 
                if (f2fs_is_compressed_page(&folio->page)) {
                        if (ctx && !ctx->decompression_attempted)
-                               f2fs_end_read_compressed_page(&folio->page, true, 0,
+                               f2fs_end_read_compressed_page(folio, true, 0,
                                                        in_task);
                        f2fs_put_folio_dic(folio, in_task);
                        continue;
@@ -241,7 +241,7 @@ static void f2fs_handle_step_decompress(struct bio_post_read_ctx *ctx,
                struct folio *folio = fi.folio;
 
                if (f2fs_is_compressed_page(&folio->page))
-                       f2fs_end_read_compressed_page(&folio->page, false, blkaddr,
+                       f2fs_end_read_compressed_page(folio, false, blkaddr,
                                                      in_task);
                else
                        all_compressed = false;
index c9e1bf89bbfaa952e5f829ed79db5e5ea7527444..2c3b6ea5c1d20105749bebe1807a17541fb1a5f0 100644 (file)
@@ -4487,7 +4487,7 @@ bool f2fs_is_compress_level_valid(int alg, int lvl);
 int __init f2fs_init_compress_mempool(void);
 void f2fs_destroy_compress_mempool(void);
 void f2fs_decompress_cluster(struct decompress_io_ctx *dic, bool in_task);
-void f2fs_end_read_compressed_page(struct page *page, bool failed,
+void f2fs_end_read_compressed_page(struct folio *folio, bool failed,
                                block_t blkaddr, bool in_task);
 bool f2fs_cluster_is_empty(struct compress_ctx *cc);
 bool f2fs_cluster_can_merge_page(struct compress_ctx *cc, pgoff_t index);
@@ -4561,7 +4561,7 @@ static inline int __init f2fs_init_compress_mempool(void) { return 0; }
 static inline void f2fs_destroy_compress_mempool(void) { }
 static inline void f2fs_decompress_cluster(struct decompress_io_ctx *dic,
                                bool in_task) { }
-static inline void f2fs_end_read_compressed_page(struct page *page,
+static inline void f2fs_end_read_compressed_page(struct folio *folio,
                                bool failed, block_t blkaddr, bool in_task)
 {
        WARN_ON_ONCE(1);