Re: [PATCH] mm/readahead: read min folio constraints under invalidate lock
From: Matthew Wilcox
Date: Mon Dec 15 2025 - 09:22:26 EST
On Mon, Dec 15, 2025 at 10:19:00PM +0800, Jinchao Wang wrote:
> page_cache_ra_order() and page_cache_ra_unbounded() read mapping minimum folio
> constraints before taking the invalidate lock, allowing concurrent changes to
> violate page cache invariants.
>
> Move the lookups under filemap_invalidate_lock_shared() to ensure readahead
> allocations respect the mapping constraints.
Why are the mapping folio size constraints being changed? They're
supposed to be set at inode instantiation and then never changed.