]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iomap: export iomap_writeback_folio
authorChristoph Hellwig <hch@lst.de>
Thu, 10 Jul 2025 13:33:34 +0000 (15:33 +0200)
committerChristian Brauner <brauner@kernel.org>
Mon, 14 Jul 2025 08:51:32 +0000 (10:51 +0200)
Allow fuse to use iomap_writeback_folio for folio laundering.  Note
that the caller needs to manually submit the pending writeback context.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/20250710133343.399917-11-hch@lst.de
Reviewed-by: Joanne Koong <joannelkoong@gmail.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/iomap/buffered-io.c
include/linux/iomap.h

index ca45a6d1cb684177197cfd7b34873ca5e5421d9f..b4b398e8bd546526abb1053d729607946c3a57dd 100644 (file)
@@ -1634,8 +1634,7 @@ static bool iomap_writeback_handle_eof(struct folio *folio, struct inode *inode,
        return true;
 }
 
-static int iomap_writeback_folio(struct iomap_writepage_ctx *wpc,
-               struct folio *folio)
+int iomap_writeback_folio(struct iomap_writepage_ctx *wpc, struct folio *folio)
 {
        struct iomap_folio_state *ifs = folio->private;
        struct inode *inode = wpc->inode;
@@ -1717,6 +1716,7 @@ static int iomap_writeback_folio(struct iomap_writepage_ctx *wpc,
        mapping_set_error(inode->i_mapping, error);
        return error;
 }
+EXPORT_SYMBOL_GPL(iomap_writeback_folio);
 
 int
 iomap_writepages(struct iomap_writepage_ctx *wpc)
index cbf9d299a6168389fd95ecd0db091c54f89a39ee..b65d3f063bb0716888a9f7bec8b5fca5263c666e 100644 (file)
@@ -466,6 +466,7 @@ void iomap_start_folio_write(struct inode *inode, struct folio *folio,
 void iomap_finish_folio_write(struct inode *inode, struct folio *folio,
                size_t len);
 
+int iomap_writeback_folio(struct iomap_writepage_ctx *wpc, struct folio *folio);
 int iomap_writepages(struct iomap_writepage_ctx *wpc);
 
 /*