mirror of https://github.com/torvalds/linux.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 <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:
parent
64d1dc522b
commit
00ef5c728e
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue