Commit e34b21ba authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Andrew Morton
Browse files

bcachefs: stop using write_cache_pages

Stop using the obsolete write_cache_pages and use writeback_iter directly.
This basically just open codes write_cache_pages without the indirect
call, but there's probably ways to structure the code even nicer as a
follow on.

Link: https://lkml.kernel.org/r/20250818061017.1526853-3-hch@lst.de


Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Cc: David Hildenbrand <david@redhat.com>
Cc: Kent Overstreet <kent.overstreet@linux.dev>
Cc: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 8d4bb46b
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -655,6 +655,17 @@ static int __bch2_writepage(struct folio *folio,
	return 0;
}

static int bch2_write_cache_pages(struct address_space *mapping,
		      struct writeback_control *wbc, void *data)
{
	struct folio *folio = NULL;
	int error;

	while ((folio = writeback_iter(mapping, wbc, folio, &error)))
		error = __bch2_writepage(folio, wbc, data);
	return error;
}

int bch2_writepages(struct address_space *mapping, struct writeback_control *wbc)
{
	struct bch_fs *c = mapping->host->i_sb->s_fs_info;
@@ -663,7 +674,7 @@ int bch2_writepages(struct address_space *mapping, struct writeback_control *wbc
	bch2_inode_opts_get(&w->opts, c, &to_bch_ei(mapping->host)->ei_inode);

	blk_start_plug(&w->plug);
	int ret = write_cache_pages(mapping, wbc, __bch2_writepage, w);
	int ret = bch2_write_cache_pages(mapping, wbc, w);
	if (w->io)
		bch2_writepage_do_io(w);
	blk_finish_plug(&w->plug);