Merge tag 'f2fs-for-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk...
[linux-2.6-microblaze.git] / fs / f2fs / data.c
index 0b159c5..aa3ccdd 100644 (file)
@@ -403,11 +403,11 @@ int f2fs_target_device_index(struct f2fs_sb_info *sbi, block_t blkaddr)
        return 0;
 }
 
-static unsigned int f2fs_io_flags(struct f2fs_io_info *fio)
+static blk_opf_t f2fs_io_flags(struct f2fs_io_info *fio)
 {
        unsigned int temp_mask = (1 << NR_TEMP_TYPE) - 1;
        unsigned int fua_flag, meta_flag, io_flag;
-       unsigned int op_flags = 0;
+       blk_opf_t op_flags = 0;
 
        if (fio->op != REQ_OP_WRITE)
                return 0;
@@ -1015,7 +1015,7 @@ out:
 }
 
 static struct bio *f2fs_grab_read_bio(struct inode *inode, block_t blkaddr,
-                                     unsigned nr_pages, unsigned op_flag,
+                                     unsigned nr_pages, blk_opf_t op_flag,
                                      pgoff_t first_idx, bool for_write)
 {
        struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
@@ -1063,7 +1063,8 @@ static struct bio *f2fs_grab_read_bio(struct inode *inode, block_t blkaddr,
 
 /* This can handle encryption stuffs */
 static int f2fs_submit_page_read(struct inode *inode, struct page *page,
-                                block_t blkaddr, int op_flags, bool for_write)
+                                block_t blkaddr, blk_opf_t op_flags,
+                                bool for_write)
 {
        struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
        struct bio *bio;
@@ -1197,7 +1198,7 @@ int f2fs_get_block(struct dnode_of_data *dn, pgoff_t index)
 }
 
 struct page *f2fs_get_read_data_page(struct inode *inode, pgoff_t index,
-                                               int op_flags, bool for_write)
+                                    blk_opf_t op_flags, bool for_write)
 {
        struct address_space *mapping = inode->i_mapping;
        struct dnode_of_data dn;
@@ -3769,42 +3770,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)
@@ -4036,15 +4001,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)