f2fs: convert f2fs_compress_ctx_add_page() to use folio
authorChao Yu <chao@kernel.org>
Tue, 13 Aug 2024 14:13:23 +0000 (22:13 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 6 Sep 2024 23:04:46 +0000 (23:04 +0000)
onvert to use folio, so that we can get rid of 'page->index' to
prepare for removal of 'index' field in structure page [1].

[1] https://lore.kernel.org/all/Zp8fgUSIBGQ1TN0D@casper.infradead.org/

Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-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 f55d54bb12f422378e737873374979777d76472a..a96c7b16fe190c546b180b9c9941ca252ae7c2ab 100644 (file)
@@ -160,17 +160,17 @@ void f2fs_destroy_compress_ctx(struct compress_ctx *cc, bool reuse)
                cc->cluster_idx = NULL_CLUSTER;
 }
 
-void f2fs_compress_ctx_add_page(struct compress_ctx *cc, struct page *page)
+void f2fs_compress_ctx_add_page(struct compress_ctx *cc, struct folio *folio)
 {
        unsigned int cluster_ofs;
 
-       if (!f2fs_cluster_can_merge_page(cc, page->index))
+       if (!f2fs_cluster_can_merge_page(cc, folio->index))
                f2fs_bug_on(F2FS_I_SB(cc->inode), 1);
 
-       cluster_ofs = offset_in_cluster(cc, page->index);
-       cc->rpages[cluster_ofs] = page;
+       cluster_ofs = offset_in_cluster(cc, folio->index);
+       cc->rpages[cluster_ofs] = folio_page(folio, 0);
        cc->nr_rpages++;
-       cc->cluster_idx = cluster_idx(cc, page->index);
+       cc->cluster_idx = cluster_idx(cc, folio->index);
 }
 
 #ifdef CONFIG_F2FS_FS_LZO
@@ -1113,7 +1113,7 @@ retry:
                if (PageUptodate(page))
                        f2fs_put_page(page, 1);
                else
-                       f2fs_compress_ctx_add_page(cc, page);
+                       f2fs_compress_ctx_add_page(cc, page_folio(page));
        }
 
        if (!f2fs_cluster_is_empty(cc)) {
@@ -1143,7 +1143,7 @@ retry:
                }
 
                f2fs_wait_on_page_writeback(page, DATA, true, true);
-               f2fs_compress_ctx_add_page(cc, page);
+               f2fs_compress_ctx_add_page(cc, page_folio(page));
 
                if (!PageUptodate(page)) {
 release_and_retry:
index e9570f4e0f212717d2fd75ead3554741b077d190..100b6526717fe88c4dfe7d933b2eb51a58c1627f 100644 (file)
@@ -2429,7 +2429,7 @@ static int f2fs_mpage_readpages(struct inode *inode,
                if (ret)
                        goto set_error_page;
 
-               f2fs_compress_ctx_add_page(&cc, &folio->page);
+               f2fs_compress_ctx_add_page(&cc, folio);
 
                goto next_page;
 read_single_page:
@@ -3161,7 +3161,7 @@ continue_unlock:
 #ifdef CONFIG_F2FS_FS_COMPRESSION
                        if (f2fs_compressed_file(inode)) {
                                folio_get(folio);
-                               f2fs_compress_ctx_add_page(&cc, &folio->page);
+                               f2fs_compress_ctx_add_page(&cc, folio);
                                continue;
                        }
 #endif
index ec82bde0c51d1dead1033ffcb4f8c30e3fd13464..569d9d2faae15d2e93906851cfc81b43921cd091 100644 (file)
@@ -4327,7 +4327,7 @@ bool f2fs_cluster_can_merge_page(struct compress_ctx *cc, pgoff_t index);
 bool f2fs_all_cluster_page_ready(struct compress_ctx *cc, struct page **pages,
                                int index, int nr_pages, bool uptodate);
 bool f2fs_sanity_check_cluster(struct dnode_of_data *dn);
-void f2fs_compress_ctx_add_page(struct compress_ctx *cc, struct page *page);
+void f2fs_compress_ctx_add_page(struct compress_ctx *cc, struct folio *folio);
 int f2fs_write_multi_pages(struct compress_ctx *cc,
                                                int *submitted,
                                                struct writeback_control *wbc,