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 <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Link: https://lore.kernel.org/r/20250424082752.1967679-1-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Christoph Hellwig 2025-04-24 10:27:52 +02:00 committed by Jens Axboe
parent 64d1dc522b
commit 00ef5c728e
1 changed files with 3 additions and 2 deletions

View File

@ -451,12 +451,13 @@ static int blkdev_get_block(struct inode *inode, sector_t iblock,
static int blkdev_writepages(struct address_space *mapping, static int blkdev_writepages(struct address_space *mapping,
struct writeback_control *wbc) struct writeback_control *wbc)
{ {
struct folio *folio = NULL;
struct blk_plug plug; struct blk_plug plug;
int err; int err;
blk_start_plug(&plug); blk_start_plug(&plug);
err = write_cache_pages(mapping, wbc, block_write_full_folio, while ((folio = writeback_iter(mapping, wbc, folio, &err)))
blkdev_get_block); err = block_write_full_folio(folio, wbc, blkdev_get_block);
blk_finish_plug(&plug); blk_finish_plug(&plug);
return err; return err;