[PATCH v2 00/19] Convert aops->migratepage to aops->migrate_folio

Matthew Wilcox (Oracle)
2022-06-08T15:12:47Z

We're getting to the last aops that take a struct page. The only
remaining ones are ->writepage, ->write_begin, ->write_end and
->error_remove_page.

Changes from v1:
- Remove ->isolate_page from secretmem
- Split the movable_operations from address_space_operations
- Drop the conversions of balloon, zsmalloc and z3fold
- Fix the build errors with hugetlbfs
- Fix the kerneldoc errors
- Fix the ;; typo

Matthew Wilcox (Oracle) (19):
secretmem: Remove isolate_page
mm: Convert all PageMovable users to movable_operations
fs: Add aops->migrate_folio
mm/migrate: Convert fallback_migrate_page() to
fallback_migrate_folio()
mm/migrate: Convert writeout() to take a folio
mm/migrate: Convert buffer_migrate_page() to buffer_migrate_folio()
mm/migrate: Convert expected_page_refs() to folio_expected_refs()
btrfs: Convert btree_migratepage to migrate_folio
nfs: Convert to migrate_folio
mm/migrate: Convert migrate_page() to migrate_folio()
mm/migrate: Add filemap_migrate_folio()
btrfs: Convert btrfs_migratepage to migrate_folio
ubifs: Convert to filemap_migrate_folio()
f2fs: Convert to filemap_migrate_folio()
aio: Convert to migrate_folio
hugetlb: Convert to migrate_folio
secretmem: Convert to migrate_folio
fs: Remove aops->migratepage()
mm/folio-compat: Remove migration compatibility functions

Documentation/filesystems/locking.rst | 5 +-
Documentation/filesystems/vfs.rst | 13 +-
Documentation/vm/page_migration.rst | 33 +--
arch/powerpc/platforms/pseries/cmm.c | 60 +----
block/fops.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 4 +-
drivers/misc/vmw_balloon.c | 61 +----
drivers/virtio/virtio_balloon.c | 47 +---
fs/aio.c | 36 +--
fs/btrfs/disk-io.c | 22 +-
fs/btrfs/inode.c | 26 +--
fs/ext2/inode.c | 4 +-
fs/ext4/inode.c | 4 +-
fs/f2fs/checkpoint.c | 4 +-
fs/f2fs/data.c | 40 +---
fs/f2fs/f2fs.h | 4 -
fs/f2fs/node.c | 4 +-
fs/gfs2/aops.c | 2 +-
fs/hugetlbfs/inode.c | 23 +-
fs/iomap/buffered-io.c | 25 --
fs/nfs/file.c | 4 +-
fs/nfs/internal.h | 6 +-
fs/nfs/write.c | 16 +-
fs/ntfs/aops.c | 6 +-
fs/ocfs2/aops.c | 2 +-
fs/ubifs/file.c | 29 +--
fs/xfs/xfs_aops.c | 2 +-
fs/zonefs/super.c | 2 +-
include/linux/balloon_compaction.h | 6 +-
include/linux/buffer_head.h | 10 +
include/linux/fs.h | 20 +-
include/linux/iomap.h | 6 -
include/linux/migrate.h | 48 ++--
include/linux/page-flags.h | 2 +-
include/linux/pagemap.h | 6 +
include/uapi/linux/magic.h | 4 -
mm/balloon_compaction.c | 10 +-
mm/compaction.c | 34 ++-
mm/folio-compat.c | 22 --
mm/ksm.c | 2 +-
mm/migrate.c | 238 ++++++++++++--------
mm/migrate_device.c | 3 +-
mm/secretmem.c | 13 +-
mm/shmem.c | 2 +-
mm/swap_state.c | 2 +-
mm/util.c | 4 +-
mm/z3fold.c | 82 +------
mm/zsmalloc.c | 102 ++-------
48 files changed, 367 insertions(+), 735 deletions(-)

--
2.35.1