Commit 8745889a authored by Linus Torvalds's avatar Linus Torvalds

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
parents 786da5da 478af190
...@@ -81,31 +81,6 @@ static int gfs2_get_block_noalloc(struct inode *inode, sector_t lblock, ...@@ -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 @@ bool gfs2_release_folio(struct folio *folio, gfp_t gfp_mask) ...@@ -765,7 +740,6 @@ bool gfs2_release_folio(struct folio *folio, gfp_t gfp_mask)
} }
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,
......
...@@ -131,7 +131,7 @@ __acquires(&sdp->sd_ail_lock) ...@@ -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 @@ void gfs2_ail1_flush(struct gfs2_sbd *sdp, struct writeback_control *wbc) ...@@ -222,8 +222,7 @@ void gfs2_ail1_flush(struct gfs2_sbd *sdp, struct writeback_control *wbc)
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);
......
...@@ -1528,21 +1528,6 @@ iomap_do_writepage(struct page *page, struct writeback_control *wbc, void *data) ...@@ -1528,21 +1528,6 @@ iomap_do_writepage(struct page *page, struct writeback_control *wbc, void *data)
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,
......
...@@ -231,13 +231,6 @@ static const struct iomap_writeback_ops zonefs_writeback_ops = { ...@@ -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, ...@@ -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,
......
...@@ -297,9 +297,6 @@ void iomap_finish_ioends(struct iomap_ioend *ioend, int error); ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment