On Tue, Feb 18, 2025 at 08:02:09PM +0800, Jingbo Xu wrote: > ... otherwise this is a behavior change for the previous callers of > invalidate_complete_folio2(), e.g. the page invalidation routine. > > Fixes: 4a9e23159fd3 ("mm/truncate: add folio_unmap_invalidate() helper") > Signed-off-by: Jingbo Xu <jefflexu@xxxxxxxxxxxxxxxxx> > --- > mm/truncate.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/mm/truncate.c b/mm/truncate.c > index e2e115adfbc5..76d8fcd89bd0 100644 > --- a/mm/truncate.c > +++ b/mm/truncate.c > @@ -548,8 +548,6 @@ int folio_unmap_invalidate(struct address_space *mapping, struct folio *folio, > > VM_BUG_ON_FOLIO(!folio_test_locked(folio), folio); > > - if (folio_test_dirty(folio)) > - return 0; Shouldn't that actually return -EBUSY because the folio could not be invalidated? Indeed, further down the function the folio gets locked and the dirty test is repeated. If it fails there it returns -EBUSY.... -Dave. -- Dave Chinner david@xxxxxxxxxxxxx