From: Christoph Hellwig Date: Thu, 24 Apr 2025 08:27:52 +0000 (+0200) Subject: block: use writeback_iter X-Git-Tag: for-6.16/block-20250523~113 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=00ef5c728ec05af5f8591016a9d138eab6b6f8e9;p=linux-block.git block: use writeback_iter Use writeback_iter instead of the deprecated write_cache_pages wrapper in blkdev_writepages. This removes an indirect call per folio. Signed-off-by: Christoph Hellwig Reviewed-by: Johannes Thumshirn Reviewed-by: Hannes Reinecke Reviewed-by: John Garry Link: https://lore.kernel.org/r/20250424082752.1967679-1-hch@lst.de Signed-off-by: Jens Axboe --- diff --git a/block/fops.c b/block/fops.c index 82b672d15ea4..b6d7cdd96b54 100644 --- a/block/fops.c +++ b/block/fops.c @@ -451,12 +451,13 @@ static int blkdev_get_block(struct inode *inode, sector_t iblock, static int blkdev_writepages(struct address_space *mapping, struct writeback_control *wbc) { + struct folio *folio = NULL; struct blk_plug plug; int err; blk_start_plug(&plug); - err = write_cache_pages(mapping, wbc, block_write_full_folio, - blkdev_get_block); + while ((folio = writeback_iter(mapping, wbc, folio, &err))) + err = block_write_full_folio(folio, wbc, blkdev_get_block); blk_finish_plug(&plug); return err;