Merge tag 'iomap-6.0-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 11 Aug 2022 20:11:49 +0000 (13:11 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 11 Aug 2022 20:11:49 +0000 (13:11 -0700)
Pull more iomap updates from Darrick Wong:
 "In the past 10 days or so I've not heard any ZOMG STOP style
  complaints about removing ->writepage support from gfs2 or zonefs, so
  here's the pull request removing them (and the underlying fs iomap
  support) from the kernel:

   - Remove iomap_writepage and all callers, since the mm apparently
     never called the zonefs or gfs2 writepage functions"

* tag 'iomap-6.0-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
  iomap: remove iomap_writepage
  zonefs: remove ->writepage
  gfs2: remove ->writepage
  gfs2: stop using generic_writepages in gfs2_ail1_start_one

fs/gfs2/aops.c
fs/gfs2/log.c
fs/iomap/buffered-io.c
fs/zonefs/super.c
include/linux/iomap.h

index 57ff883..05bee80 100644 (file)
@@ -81,31 +81,6 @@ static int gfs2_get_block_noalloc(struct inode *inode, sector_t lblock,
        return 0;
 }
 
-/**
- * gfs2_writepage - Write page for writeback mappings
- * @page: The page
- * @wbc: The writeback control
- */
-static int gfs2_writepage(struct page *page, struct writeback_control *wbc)
-{
-       struct inode *inode = page->mapping->host;
-       struct gfs2_inode *ip = GFS2_I(inode);
-       struct gfs2_sbd *sdp = GFS2_SB(inode);
-       struct iomap_writepage_ctx wpc = { };
-
-       if (gfs2_assert_withdraw(sdp, gfs2_glock_is_held_excl(ip->i_gl)))
-               goto out;
-       if (current->journal_info)
-               goto redirty;
-       return iomap_writepage(page, wbc, &wpc, &gfs2_writeback_ops);
-
-redirty:
-       redirty_page_for_writepage(wbc, page);
-out:
-       unlock_page(page);
-       return 0;
-}
-
 /**
  * gfs2_write_jdata_page - gfs2 jdata-specific version of block_write_full_page
  * @page: The page to write
@@ -765,7 +740,6 @@ cannot_release:
 }
 
 static const struct address_space_operations gfs2_aops = {
-       .writepage = gfs2_writepage,
        .writepages = gfs2_writepages,
        .read_folio = gfs2_read_folio,
        .readahead = gfs2_readahead,
index eec4159..7236393 100644 (file)
@@ -131,7 +131,7 @@ __acquires(&sdp->sd_ail_lock)
                if (!mapping)
                        continue;
                spin_unlock(&sdp->sd_ail_lock);
-               ret = generic_writepages(mapping, wbc);
+               ret = filemap_fdatawrite_wbc(mapping, wbc);
                if (need_resched()) {
                        blk_finish_plug(plug);
                        cond_resched();
@@ -222,8 +222,7 @@ out:
        spin_unlock(&sdp->sd_ail_lock);
        blk_finish_plug(&plug);
        if (ret) {
-               gfs2_lm(sdp, "gfs2_ail1_start_one (generic_writepages) "
-                       "returned: %d\n", ret);
+               gfs2_lm(sdp, "gfs2_ail1_start_one returned: %d\n", ret);
                gfs2_withdraw(sdp);
        }
        trace_gfs2_ail_flush(sdp, wbc, 0);
index 2b82c7f..ca5c629 100644 (file)
@@ -1528,21 +1528,6 @@ unlock:
        return 0;
 }
 
-int
-iomap_writepage(struct page *page, struct writeback_control *wbc,
-               struct iomap_writepage_ctx *wpc,
-               const struct iomap_writeback_ops *ops)
-{
-       int ret;
-
-       wpc->ops = ops;
-       ret = iomap_do_writepage(page, wbc, wpc);
-       if (!wpc->ioend)
-               return ret;
-       return iomap_submit_ioend(wpc, wpc->ioend, ret);
-}
-EXPORT_SYMBOL_GPL(iomap_writepage);
-
 int
 iomap_writepages(struct address_space *mapping, struct writeback_control *wbc,
                struct iomap_writepage_ctx *wpc,
index 511bb9f..860f0b1 100644 (file)
@@ -231,13 +231,6 @@ static const struct iomap_writeback_ops zonefs_writeback_ops = {
        .map_blocks             = zonefs_write_map_blocks,
 };
 
-static int zonefs_writepage(struct page *page, struct writeback_control *wbc)
-{
-       struct iomap_writepage_ctx wpc = { };
-
-       return iomap_writepage(page, wbc, &wpc, &zonefs_writeback_ops);
-}
-
 static int zonefs_writepages(struct address_space *mapping,
                             struct writeback_control *wbc)
 {
@@ -265,7 +258,6 @@ static int zonefs_swap_activate(struct swap_info_struct *sis,
 static const struct address_space_operations zonefs_file_aops = {
        .read_folio             = zonefs_read_folio,
        .readahead              = zonefs_readahead,
-       .writepage              = zonefs_writepage,
        .writepages             = zonefs_writepages,
        .dirty_folio            = filemap_dirty_folio,
        .release_folio          = iomap_release_folio,
index 25ac281..238a030 100644 (file)
@@ -297,9 +297,6 @@ void iomap_finish_ioends(struct iomap_ioend *ioend, int error);
 void iomap_ioend_try_merge(struct iomap_ioend *ioend,
                struct list_head *more_ioends);
 void iomap_sort_ioends(struct list_head *ioend_list);
-int iomap_writepage(struct page *page, struct writeback_control *wbc,
-               struct iomap_writepage_ctx *wpc,
-               const struct iomap_writeback_ops *ops);
 int iomap_writepages(struct address_space *mapping,
                struct writeback_control *wbc, struct iomap_writepage_ctx *wpc,
                const struct iomap_writeback_ops *ops);