]> git.baikalelectronics.ru Git - kernel.git/commitdiff
f2fs: Convert to filemap_migrate_folio()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 6 Jun 2022 14:47:21 +0000 (10:47 -0400)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 2 Aug 2022 16:34:04 +0000 (12:34 -0400)
filemap_migrate_folio() fits f2fs's needs perfectly.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Chao Yu <chao@kernel.org>
fs/f2fs/checkpoint.c
fs/f2fs/data.c
fs/f2fs/f2fs.h
fs/f2fs/node.c

index 6d8b2bf14de0fd86a07e9cffd6e381868517725a..8259e0fa97e1fcda7dd6e8ff10044a2ca50ab2f4 100644 (file)
@@ -463,9 +463,7 @@ const struct address_space_operations f2fs_meta_aops = {
        .dirty_folio    = f2fs_dirty_meta_folio,
        .invalidate_folio = f2fs_invalidate_folio,
        .release_folio  = f2fs_release_folio,
-#ifdef CONFIG_MIGRATION
-       .migratepage    = f2fs_migrate_page,
-#endif
+       .migrate_folio  = filemap_migrate_folio,
 };
 
 static void __add_ino_entry(struct f2fs_sb_info *sbi, nid_t ino,
index 7fcbcf97973724d6891a6b51f59153afa5fee7de..318a3f91ad74bafdfc76f97a04cafc563bc88396 100644 (file)
@@ -3751,42 +3751,6 @@ out:
        return blknr;
 }
 
-#ifdef CONFIG_MIGRATION
-#include <linux/migrate.h>
-
-int f2fs_migrate_page(struct address_space *mapping,
-               struct page *newpage, struct page *page, enum migrate_mode mode)
-{
-       int rc, extra_count = 0;
-
-       BUG_ON(PageWriteback(page));
-
-       rc = migrate_page_move_mapping(mapping, newpage,
-                               page, extra_count);
-       if (rc != MIGRATEPAGE_SUCCESS)
-               return rc;
-
-       /* guarantee to start from no stale private field */
-       set_page_private(newpage, 0);
-       if (PagePrivate(page)) {
-               set_page_private(newpage, page_private(page));
-               SetPagePrivate(newpage);
-               get_page(newpage);
-
-               set_page_private(page, 0);
-               ClearPagePrivate(page);
-               put_page(page);
-       }
-
-       if (mode != MIGRATE_SYNC_NO_COPY)
-               migrate_page_copy(newpage, page);
-       else
-               migrate_page_states(newpage, page);
-
-       return MIGRATEPAGE_SUCCESS;
-}
-#endif
-
 #ifdef CONFIG_SWAP
 static int f2fs_migrate_blocks(struct inode *inode, block_t start_blk,
                                                        unsigned int blkcnt)
@@ -4018,15 +3982,13 @@ const struct address_space_operations f2fs_dblock_aops = {
        .write_begin    = f2fs_write_begin,
        .write_end      = f2fs_write_end,
        .dirty_folio    = f2fs_dirty_data_folio,
+       .migrate_folio  = filemap_migrate_folio,
        .invalidate_folio = f2fs_invalidate_folio,
        .release_folio  = f2fs_release_folio,
        .direct_IO      = noop_direct_IO,
        .bmap           = f2fs_bmap,
        .swap_activate  = f2fs_swap_activate,
        .swap_deactivate = f2fs_swap_deactivate,
-#ifdef CONFIG_MIGRATION
-       .migratepage    = f2fs_migrate_page,
-#endif
 };
 
 void f2fs_clear_page_cache_dirty_tag(struct page *page)
index d9bbecd008d22ab1a76bf2ef579f7c7f5131c25c..f258a1b6faed3a998ba2ed28432d87aabe89a55d 100644 (file)
@@ -3764,10 +3764,6 @@ int f2fs_write_single_data_page(struct page *page, int *submitted,
 void f2fs_write_failed(struct inode *inode, loff_t to);
 void f2fs_invalidate_folio(struct folio *folio, size_t offset, size_t length);
 bool f2fs_release_folio(struct folio *folio, gfp_t wait);
-#ifdef CONFIG_MIGRATION
-int f2fs_migrate_page(struct address_space *mapping, struct page *newpage,
-                       struct page *page, enum migrate_mode mode);
-#endif
 bool f2fs_overwrite_io(struct inode *inode, loff_t pos, size_t len);
 void f2fs_clear_page_cache_dirty_tag(struct page *page);
 int f2fs_init_post_read_processing(void);
index cf6f7fc83c08290f6cd53fd395fdabbf66b6fd49..12bba66a8a3001a272718193c6fbd5654c98110c 100644 (file)
@@ -2165,9 +2165,7 @@ const struct address_space_operations f2fs_node_aops = {
        .dirty_folio    = f2fs_dirty_node_folio,
        .invalidate_folio = f2fs_invalidate_folio,
        .release_folio  = f2fs_release_folio,
-#ifdef CONFIG_MIGRATION
-       .migratepage    = f2fs_migrate_page,
-#endif
+       .migrate_folio  = filemap_migrate_folio,
 };
 
 static struct free_nid *__lookup_free_nid_list(struct f2fs_nm_info *nm_i,