On Wed 16-11-22 08:14:15, Christoph Hellwig wrote: > On Mon, Nov 14, 2022 at 11:49:27AM +0100, Jan Kara wrote: > > On Sun 13-11-22 17:28:55, Christoph Hellwig wrote: > > > ->writepage is a very inefficient method to write back data, and only > > > used through write_cache_pages or a a fallback when no ->migrate_folio > > > method is present. > > > > > > Signed-off-by: Christoph Hellwig > > > > Looks good! Feel free to add: > > The testbot found a problem with this: > > ext2_commit_chunk calls write_one_page for the IS_DIRSYNC case, > and write_one_page calls ->writepage. Right. > So I think I need to drop this one for now (none of the other > file systems calls write_one_page). And then think what best > to do about write_one_page/write_one_folio. I suspect just > passing a writepage pointer to them might make most sense, > as they are only used by a few file systems, and the calling > convention with the locked page doesn't lend itself to using > ->writepages. Looking at the code, IMO the write_one_page() looks somewhat premature anyway in that place. AFAICS we could handle the writeout using filemap_write_and_wait() if we moved it to somewhat later moment. So something like attached patch (only basic testing only so far)? Honza -- Jan Kara SUSE Labs, CR