On Wed, Jan 29, 2020 at 11:50:37AM +0100, Miklos Szeredi wrote: > On Sat, Jan 25, 2020 at 2:36 AM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > > > From: "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx> > > > > Use the new readahead operation in fuse. Switching away from the > > read_cache_pages() helper gets rid of an implicit call to put_page(), > > so we can get rid of the get_page() call in fuse_readpages_fill(). > > We can also get rid of the call to fuse_wait_on_page_writeback() as > > this page is newly allocated and so cannot be under writeback. > > Not sure. fuse_wait_on_page_writeback() waits not on the page but the > byte range indicated by the index. > > Fuse writeback goes through some hoops to prevent reclaim related > deadlocks, which means that the byte range could still be under > writeback, yet the page belonging to that range be already reclaimed. > This fuse_wait_on_page_writeback() is trying to serialize reads > against such writes. Thanks. I'll put that back in.