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

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
Loading
Loading
Loading
Loading
+0 −26
Original line number Original line Diff line number Diff line
@@ -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)
}
}


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,
+2 −3
Original line number Original line Diff line number Diff line
@@ -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)
	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);
+0 −15
Original line number Original line Diff line number Diff line
@@ -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,
+0 −8
Original line number Original line Diff line number Diff line
@@ -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,
+0 −3
Original line number Original line Diff line number Diff line
@@ -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);