Re: [RFC PATCH] mm: Replace ->launder_folio() with flush and wait

From: Miklos Szeredi
Date: Tue Mar 19 2024 - 12:18:34 EST


On Tue, 19 Mar 2024 at 15:15, David Howells <dhowells@xxxxxxxxxx> wrote:

> What particular usage case of invalidate_inode_pages2() are you thinking of?

FUSE_NOTIFY_INVAL_INODE will trigger invalidate_inode_pages2_range()
to clean up the cache.

The server is free to discard writes resulting from this invalidation
and delay reads in the region until the invalidation finishes. This
would no longer work with your change, since the mapping could
silently be reinstated between the writeback and the removal from the
cache due to the page being unlocked/relocked.

I'm not saying such a filesystem actually exists, but it's a
theoretical possibility. And maybe there are cases which I haven't
thought of.

Thanks,
Miklos