return block_read_full_folio(folio, hfsplus_get_block);
 }
 
-static int hfsplus_writepage(struct page *page, struct writeback_control *wbc)
-{
-       return block_write_full_page(page, hfsplus_get_block, wbc);
-}
-
 static void hfsplus_write_failed(struct address_space *mapping, loff_t to)
 {
        struct inode *inode = mapping->host;
        .dirty_folio    = block_dirty_folio,
        .invalidate_folio = block_invalidate_folio,
        .read_folio     = hfsplus_read_folio,
-       .writepage      = hfsplus_writepage,
+       .writepages     = hfsplus_writepages,
        .write_begin    = hfsplus_write_begin,
        .write_end      = generic_write_end,
+       .migrate_folio  = buffer_migrate_folio,
        .bmap           = hfsplus_bmap,
        .release_folio  = hfsplus_release_folio,
 };