From e34b21ba1541760e64e913caa10181ea3b7d0761 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Mon, 18 Aug 2025 08:10:09 +0200 Subject: [PATCH] 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: Christoph Hellwig Cc: David Hildenbrand Cc: Kent Overstreet Cc: Konstantin Komarov Cc: Matthew Wilcox (Oracle) Signed-off-by: Andrew Morton --- fs/bcachefs/fs-io-buffered.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/fs/bcachefs/fs-io-buffered.c b/fs/bcachefs/fs-io-buffered.c index 1c54b9b5bd695..fdeaa25189f21 100644 --- a/fs/bcachefs/fs-io-buffered.c +++ b/fs/bcachefs/fs-io-buffered.c @@ -655,6 +655,17 @@ do_io: 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); -- 2.47.3