Re: [PATCH 11/12] fuse: Convert from readpages to readahead

From: Matthew Wilcox
Date: Thu Jan 30 2020 - 02:26:20 EST


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.