Use iomap-based swapfile activation instead of the default generic_swapfile_activate bmap-based infrastructure. --- fs/xfs/xfs_aops.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c index 31f1f10eecd1..878ff3872883 100644 --- a/fs/xfs/xfs_aops.c +++ b/fs/xfs/xfs_aops.c @@ -1491,6 +1491,12 @@ xfs_vm_set_page_dirty( return newly_dirty; } +static int xfs_swap_activate(struct swap_info_struct *sis, struct file *file, + sector_t *span) +{ + return iomap_swap_activate(sis, file, span, &xfs_iomap_ops); +} + const struct address_space_operations xfs_address_space_operations = { .readpage = xfs_vm_readpage, .readpages = xfs_vm_readpages, @@ -1504,4 +1510,5 @@ const struct address_space_operations xfs_address_space_operations = { .migratepage = buffer_migrate_page, .is_partially_uptodate = block_is_partially_uptodate, .error_remove_page = generic_error_remove_page, + .swap_activate = xfs_swap_activate, }; -- 2.14.1