New code for 6.0:

- Remove iomap_writepage and all callers, since the mm apparently never
    called the zonefs or gfs2 writepage functions.
 
 Signed-off-by: Darrick J. Wong <djwong@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAmL1H7kACgkQ+H93GTRK
 tOvzfw/+JJQM3WjwCUg+11O9E+oKS3wbczr0yAd2m8j+EqapdndXzIVevcZKXoTx
 K4zOK9oDecPtRKgQkvrDt7HrMB7oYv8tuSzyfcsNVHbMA6U3twkLdr5c19/lm9uj
 rnP2Xrs0RkiiFpImmTHsviPEyzniJ+BjtRDF7FxSFELxREae4EQW3YX2MjffvqQA
 dT+xXptWiOSa3ygwfoGqVeOLOMt0DqXICiV0GLrGxD6S7TLRRIPo7ojYS4703vUL
 VFTAUvhC4CD9/vsEwPnl91Jq2s06tO3LE4V6vJDPI7/uQFPcubLmcK8GpaYB6+OQ
 q9Fhpc9cU/3JTKt6Sw9uNOqA5hfUKBdJmhWE3FqZ2arql2C9tY2o+cHvRBKZWMZ9
 FdLKSwsuDpL+pYsWOPn7wU8BHZVTDDl7CtDNTCurNkkNgaAbK8C0X7QcT16RRyDF
 SAPHlg0XFewLgJ+9HNyDv70VT1VLYiJNq/h0d/EMO1+FuT4ArBOTOSe4zNNXqD3w
 vVFtbBhjGMf1ffqiMM5GdOPh0vxacL8jfxM7xyQ4yooSkecZCEvtNnuCysNTFDbl
 53b9bjk+OSuWCb7efE6p82wU+gr617Zp2/YxALl4E0FlozeRHuRimWBtABZqi/g6
 aKJL42ASY+PLJPACDjo0LhDFuCRbd75OATUGtBva7mkYWUANlMc=
 =FuyV
 -----END PGP SIGNATURE-----

Merge tag 'iomap-6.0-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux

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
This commit is contained in:
Linus Torvalds 2022-08-11 13:11:49 -07:00
commit 8745889a7f
5 changed files with 2 additions and 55 deletions

View File

@ -81,31 +81,6 @@ static int gfs2_get_block_noalloc(struct inode *inode, sector_t lblock,
return 0; 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 * gfs2_write_jdata_page - gfs2 jdata-specific version of block_write_full_page
* @page: The page to write * @page: The page to write
@ -765,7 +740,6 @@ cannot_release:
} }
static const struct address_space_operations gfs2_aops = { static const struct address_space_operations gfs2_aops = {
.writepage = gfs2_writepage,
.writepages = gfs2_writepages, .writepages = gfs2_writepages,
.read_folio = gfs2_read_folio, .read_folio = gfs2_read_folio,
.readahead = gfs2_readahead, .readahead = gfs2_readahead,

View File

@ -131,7 +131,7 @@ __acquires(&sdp->sd_ail_lock)
if (!mapping) if (!mapping)
continue; continue;
spin_unlock(&sdp->sd_ail_lock); spin_unlock(&sdp->sd_ail_lock);
ret = generic_writepages(mapping, wbc); ret = filemap_fdatawrite_wbc(mapping, wbc);
if (need_resched()) { if (need_resched()) {
blk_finish_plug(plug); blk_finish_plug(plug);
cond_resched(); cond_resched();
@ -222,8 +222,7 @@ out:
spin_unlock(&sdp->sd_ail_lock); spin_unlock(&sdp->sd_ail_lock);
blk_finish_plug(&plug); blk_finish_plug(&plug);
if (ret) { if (ret) {
gfs2_lm(sdp, "gfs2_ail1_start_one (generic_writepages) " gfs2_lm(sdp, "gfs2_ail1_start_one returned: %d\n", ret);
"returned: %d\n", ret);
gfs2_withdraw(sdp); gfs2_withdraw(sdp);
} }
trace_gfs2_ail_flush(sdp, wbc, 0); trace_gfs2_ail_flush(sdp, wbc, 0);

View File

@ -1528,21 +1528,6 @@ unlock:
return 0; 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 int
iomap_writepages(struct address_space *mapping, struct writeback_control *wbc, iomap_writepages(struct address_space *mapping, struct writeback_control *wbc,
struct iomap_writepage_ctx *wpc, struct iomap_writepage_ctx *wpc,

View File

@ -231,13 +231,6 @@ static const struct iomap_writeback_ops zonefs_writeback_ops = {
.map_blocks = zonefs_write_map_blocks, .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, static int zonefs_writepages(struct address_space *mapping,
struct writeback_control *wbc) 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 = { static const struct address_space_operations zonefs_file_aops = {
.read_folio = zonefs_read_folio, .read_folio = zonefs_read_folio,
.readahead = zonefs_readahead, .readahead = zonefs_readahead,
.writepage = zonefs_writepage,
.writepages = zonefs_writepages, .writepages = zonefs_writepages,
.dirty_folio = filemap_dirty_folio, .dirty_folio = filemap_dirty_folio,
.release_folio = iomap_release_folio, .release_folio = iomap_release_folio,

View File

@ -297,9 +297,6 @@ void iomap_finish_ioends(struct iomap_ioend *ioend, int error);
void iomap_ioend_try_merge(struct iomap_ioend *ioend, void iomap_ioend_try_merge(struct iomap_ioend *ioend,
struct list_head *more_ioends); struct list_head *more_ioends);
void iomap_sort_ioends(struct list_head *ioend_list); 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, int iomap_writepages(struct address_space *mapping,
struct writeback_control *wbc, struct iomap_writepage_ctx *wpc, struct writeback_control *wbc, struct iomap_writepage_ctx *wpc,
const struct iomap_writeback_ops *ops); const struct iomap_writeback_ops *ops);