Jeff Layton <jlayton@xxxxxxxxxx> wrote: > I don't know here... I think it might be better to just expect that when > this function returns an error that the folio has already been unlocked. > Doing it this way will mean that you will lock and unlock the folio a > second time for no reason. I seem to remember there was some reason you wanted the folio unlocking and putting. I guess you need to drop the ref to flush it. Would it make sense for ->check_write_begin() to be passed a "struct folio **folio" rather than "struct folio *folio" and then the filesystem can clear *folio if it disposes of the page? David