f2fs: get rid of page->index
authorChao Yu <chao@kernel.org>
Tue, 20 Aug 2024 14:55:07 +0000 (22:55 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 6 Sep 2024 23:04:48 +0000 (23:04 +0000)
Convert 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>
Reviewed-by: Li Zetao <lizetao1@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/compress.c
fs/f2fs/data.c
fs/f2fs/dir.c
fs/f2fs/inode.c
fs/f2fs/node.c
fs/f2fs/segment.c

index e642c869db4aec326312b050f164008c4802ee4b..7f26440e8595a160a0233588f627a15256fe7efe 100644 (file)
@@ -881,7 +881,7 @@ static bool cluster_has_invalid_data(struct compress_ctx *cc)
                f2fs_bug_on(F2FS_I_SB(cc->inode), !page);
 
                /* beyond EOF */
-               if (page->index >= nr_pages)
+               if (page_folio(page)->index >= nr_pages)
                        return true;
        }
        return false;
index e69097267b99f9c3b50f42ad4cbfb598744380d2..c6d688208f8bd913631678c466efe113900e2680 100644 (file)
@@ -354,7 +354,7 @@ static void f2fs_write_end_io(struct bio *bio)
                }
 
                f2fs_bug_on(sbi, page->mapping == NODE_MAPPING(sbi) &&
-                                       page->index != nid_of_node(page));
+                               page_folio(page)->index != nid_of_node(page));
 
                dec_page_count(sbi, type);
                if (f2fs_in_warm_node_list(sbi, page))
@@ -703,7 +703,7 @@ int f2fs_submit_page_bio(struct f2fs_io_info *fio)
        bio = __bio_alloc(fio, 1);
 
        f2fs_set_bio_crypt_ctx(bio, fio->page->mapping->host,
-                              fio->page->index, fio, GFP_NOIO);
+                       page_folio(fio->page)->index, fio, GFP_NOIO);
 
        if (bio_add_page(bio, page, PAGE_SIZE, 0) < PAGE_SIZE) {
                bio_put(bio);
@@ -802,7 +802,7 @@ static int add_ipu_page(struct f2fs_io_info *fio, struct bio **bio,
                                                            fio->new_blkaddr));
                        if (f2fs_crypt_mergeable_bio(*bio,
                                        fio->page->mapping->host,
-                                       fio->page->index, fio) &&
+                                       page_folio(fio->page)->index, fio) &&
                            bio_add_page(*bio, page, PAGE_SIZE, 0) ==
                                        PAGE_SIZE) {
                                ret = 0;
@@ -902,7 +902,7 @@ alloc_new:
        if (!bio) {
                bio = __bio_alloc(fio, BIO_MAX_VECS);
                f2fs_set_bio_crypt_ctx(bio, fio->page->mapping->host,
-                                      fio->page->index, fio, GFP_NOIO);
+                               page_folio(fio->page)->index, fio, GFP_NOIO);
 
                add_bio_entry(fio->sbi, bio, page, fio->temp);
        } else {
@@ -995,13 +995,13 @@ next:
            (!io_is_mergeable(sbi, io->bio, io, fio, io->last_block_in_bio,
                              fio->new_blkaddr) ||
             !f2fs_crypt_mergeable_bio(io->bio, fio->page->mapping->host,
-                                      bio_page->index, fio)))
+                               page_folio(bio_page)->index, fio)))
                __submit_merged_bio(io);
 alloc_new:
        if (io->bio == NULL) {
                io->bio = __bio_alloc(fio, BIO_MAX_VECS);
                f2fs_set_bio_crypt_ctx(io->bio, fio->page->mapping->host,
-                                      bio_page->index, fio, GFP_NOIO);
+                               page_folio(bio_page)->index, fio, GFP_NOIO);
                io->fio = *fio;
        }
 
index 5fcc952107e9ce36e054da00b619dfc5d73ac12f..1136539a57a888e8399c938e957057259d31b84f 100644 (file)
@@ -842,6 +842,7 @@ void f2fs_delete_entry(struct f2fs_dir_entry *dentry, struct page *page,
        struct  f2fs_dentry_block *dentry_blk;
        unsigned int bit_pos;
        int slots = GET_DENTRY_SLOTS(le16_to_cpu(dentry->name_len));
+       pgoff_t index = page_folio(page)->index;
        int i;
 
        f2fs_update_time(F2FS_I_SB(dir), REQ_TIME);
@@ -867,7 +868,7 @@ void f2fs_delete_entry(struct f2fs_dir_entry *dentry, struct page *page,
        set_page_dirty(page);
 
        if (bit_pos == NR_DENTRY_IN_BLOCK &&
-               !f2fs_truncate_hole(dir, page->index, page->index + 1)) {
+               !f2fs_truncate_hole(dir, index, index + 1)) {
                f2fs_clear_page_cache_dirty_tag(page_folio(page));
                clear_page_dirty_for_io(page);
                ClearPageUptodate(page);
index 5d7e4c7f5969da65c4eacce0f28eac228f631240..b2d5c3ef8e249842dfe23db443049ae5e10d7db1 100644 (file)
@@ -174,7 +174,8 @@ bool f2fs_inode_chksum_verify(struct f2fs_sb_info *sbi, struct page *page)
 
        if (provided != calculated)
                f2fs_warn(sbi, "checksum invalid, nid = %lu, ino_of_node = %x, %x vs. %x",
-                         page->index, ino_of_node(page), provided, calculated);
+                         page_folio(page)->index, ino_of_node(page),
+                         provided, calculated);
 
        return provided == calculated;
 }
index f5e5abce695bb88ef18c3606a5b42853fa093fb8..59b13ff243fa802191db768125d993068f041c2a 100644 (file)
@@ -919,7 +919,7 @@ static int truncate_node(struct dnode_of_data *dn)
        clear_node_page_dirty(dn->node_page);
        set_sbi_flag(sbi, SBI_IS_DIRTY);
 
-       index = dn->node_page->index;
+       index = page_folio(dn->node_page)->index;
        f2fs_put_page(dn->node_page, 1);
 
        invalidate_mapping_pages(NODE_MAPPING(sbi),
@@ -1869,7 +1869,7 @@ continue_unlock:
        }
        if (!ret && atomic && !marked) {
                f2fs_debug(sbi, "Retry to write fsync mark: ino=%u, idx=%lx",
-                          ino, last_page->index);
+                          ino, page_folio(last_page)->index);
                lock_page(last_page);
                f2fs_wait_on_page_writeback(last_page, NODE, true, true);
                set_page_dirty(last_page);
index e3cc2706f544dd8d941c49f99a300aadaeb9dd4d..314be0d7816db16d6644cd87c9ad92106adaaf95 100644 (file)
@@ -3552,7 +3552,8 @@ static int __get_segment_type_6(struct f2fs_io_info *fio)
                if (file_is_cold(inode) || f2fs_need_compress_data(inode))
                        return CURSEG_COLD_DATA;
 
-               type = __get_age_segment_type(inode, fio->page->index);
+               type = __get_age_segment_type(inode,
+                               page_folio(fio->page)->index);
                if (type != NO_CHECK_TYPE)
                        return type;