diff options
author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2025-04-02 15:59:58 +0100 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2025-04-07 09:36:49 +0200 |
commit | 8e5ae388f33a5270ea4193e533c0770d51f6a9be (patch) | |
tree | 073589bc2ef4feaa4bb77a78957569ed61bb1b10 | |
parent | 7ee3647243e5c4a9d74d4c7ec621eac75c6d37ea (diff) |
writeback: Remove writeback_use_writepage()
The ->writepage operation has been removed from all filesystems but
shmem and swap, neither of which call in here. Remove this alternative
to calling ->writepages.
Signed-off-by: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Link: https://lore.kernel.org/r/20250402150005.2309458-5-willy@infradead.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r-- | mm/page-writeback.c | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index c81624bc3969..76200cd85fe7 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -2621,27 +2621,6 @@ int write_cache_pages(struct address_space *mapping, } EXPORT_SYMBOL(write_cache_pages); -static int writeback_use_writepage(struct address_space *mapping, - struct writeback_control *wbc) -{ - struct folio *folio = NULL; - struct blk_plug plug; - int err; - - blk_start_plug(&plug); - while ((folio = writeback_iter(mapping, wbc, folio, &err))) { - err = mapping->a_ops->writepage(&folio->page, wbc); - if (err == AOP_WRITEPAGE_ACTIVATE) { - folio_unlock(folio); - err = 0; - } - mapping_set_error(mapping, err); - } - blk_finish_plug(&plug); - - return err; -} - int do_writepages(struct address_space *mapping, struct writeback_control *wbc) { int ret; @@ -2652,14 +2631,11 @@ int do_writepages(struct address_space *mapping, struct writeback_control *wbc) wb = inode_to_wb_wbc(mapping->host, wbc); wb_bandwidth_estimate_start(wb); while (1) { - if (mapping->a_ops->writepages) { + if (mapping->a_ops->writepages) ret = mapping->a_ops->writepages(mapping, wbc); - } else if (mapping->a_ops->writepage) { - ret = writeback_use_writepage(mapping, wbc); - } else { + else /* deal with chardevs and other special files */ ret = 0; - } if (ret != -ENOMEM || wbc->sync_mode != WB_SYNC_ALL) break; |