]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iomap: wait for batched folios to be stable in __iomap_get_folio
authorChristoph Hellwig <hch@lst.de>
Tue, 13 Jan 2026 15:39:17 +0000 (16:39 +0100)
committerChristian Brauner <brauner@kernel.org>
Wed, 14 Jan 2026 16:06:02 +0000 (17:06 +0100)
__iomap_get_folio needs to wait for writeback to finish if the file
requires folios to be stable for writes.  For the regular path this is
taken care of by __filemap_get_folio, but for the newly added batch
lookup it has to be done manually.

This fixes xfs/131 failures when running on PI-capable hardware.

Fixes: 395ed1ef0012 ("iomap: optional zero range dirty folio processing")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://patch.msgid.link/20260113153943.3323869-1-hch@lst.de
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/iomap/buffered-io.c

index fd9a2cf9562024b8dd056a7f9c7d5e20822ce6ef..6beb876658c09b3326a8d7cb00662decb3fa43bb 100644 (file)
@@ -851,6 +851,7 @@ static struct folio *__iomap_get_folio(struct iomap_iter *iter,
                }
 
                folio_get(folio);
+               folio_wait_stable(folio);
                return folio;
        }