/* Note: Because we don't support holes, our allocation has
  * already happened (allocation writes zeros to the file data)
  * so we don't have to worry about ordered writes in
- * ocfs2_writepage.
+ * ocfs2_writepages.
  *
- * ->writepage is called during the process of invalidating the page cache
+ * ->writepages is called during the process of invalidating the page cache
  * during blocked lock processing.  It can't block on any cluster locks
  * to during block mapping.  It's relying on the fact that the block
  * mapping can't have disappeared under the dirty pages that it is
  * being asked to write back.
  */
-static int ocfs2_writepage(struct page *page, struct writeback_control *wbc)
+static int ocfs2_writepages(struct address_space *mapping,
+               struct writeback_control *wbc)
 {
-       trace_ocfs2_writepage(
-               (unsigned long long)OCFS2_I(page->mapping->host)->ip_blkno,
-               page->index);
-
-       return block_write_full_page(page, ocfs2_get_block, wbc);
+       return mpage_writepages(mapping, wbc, ocfs2_get_block);
 }
 
 /* Taken from ext3. We don't necessarily need the full blown
        .dirty_folio            = block_dirty_folio,
        .read_folio             = ocfs2_read_folio,
        .readahead              = ocfs2_readahead,
-       .writepage              = ocfs2_writepage,
+       .writepages             = ocfs2_writepages,
        .write_begin            = ocfs2_write_begin,
        .write_end              = ocfs2_write_end,
        .bmap                   = ocfs2_bmap,