iomap: Rename page_done handler to put_folio
[linux-2.6-microblaze.git] / fs / gfs2 / bmap.c
index e7537fd..0c04145 100644 (file)
@@ -967,15 +967,24 @@ static int gfs2_iomap_page_prepare(struct inode *inode, loff_t pos,
        return gfs2_trans_begin(sdp, RES_DINODE + blocks, 0);
 }
 
-static void gfs2_iomap_page_done(struct inode *inode, loff_t pos,
-                                unsigned copied, struct page *page)
+static void gfs2_iomap_put_folio(struct inode *inode, loff_t pos,
+                                unsigned copied, struct folio *folio)
 {
        struct gfs2_trans *tr = current->journal_info;
        struct gfs2_inode *ip = GFS2_I(inode);
        struct gfs2_sbd *sdp = GFS2_SB(inode);
 
-       if (page && !gfs2_is_stuffed(ip))
-               gfs2_page_add_databufs(ip, page, offset_in_page(pos), copied);
+       if (!folio) {
+               gfs2_trans_end(sdp);
+               return;
+       }
+
+       if (!gfs2_is_stuffed(ip))
+               gfs2_page_add_databufs(ip, &folio->page, offset_in_page(pos),
+                                      copied);
+
+       folio_unlock(folio);
+       folio_put(folio);
 
        if (tr->tr_num_buf_new)
                __mark_inode_dirty(inode, I_DIRTY_DATASYNC);
@@ -985,7 +994,7 @@ static void gfs2_iomap_page_done(struct inode *inode, loff_t pos,
 
 static const struct iomap_page_ops gfs2_iomap_page_ops = {
        .page_prepare = gfs2_iomap_page_prepare,
-       .page_done = gfs2_iomap_page_done,
+       .put_folio = gfs2_iomap_put_folio,
 };
 
 static int gfs2_iomap_begin_write(struct inode *inode, loff_t pos,