Re: [PATCH 2/7] fuse: Use filemap_invalidate_pages()
Miklos Szeredi <[email protected]>
| Newsgroups | dev.linux.lists.fuse-devel,org.kernel.vger.linux-block,org.kernel.vger.linux-btrfs,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-nfs,org.kvack.linux-mm |
|---|---|
| Message-ID | <CAJfpegvP3i8ZJc2T=+f4rAhZ4E1QcT5+jC6mQPLxtB-yoK9Brw@mail.gmail.com> |
On Thu, 20 Aug 2026 at 21:34, Matthew Wilcox (Oracle) <[email protected]> wrote: > > FUSE relies on invalidate_inode_pages2() / invalidate_inode_pages2_range() > doing writeback by calling fuse_launder_folio(). While this works, it > is inefficient as each page is written back and waited for individually. > Far better to call filemap_invalidate_pages() which will do a bulk write > first, then remove the page cache. filemap_invalidate_page() suggests to use invalidate_lock to prevent races with pages coming back. I'm not sure that without it the behavior is identical. Maybe add a variant that takes that lock? Thanks, Miklos