Re: linux-next: manual merge of the folio tree with the btrfs tree

From: Matthew Wilcox
Date: Tue May 10 2022 - 11:19:09 EST


On Tue, May 10, 2022 at 10:43:07AM +0100, Filipe Manana wrote:
> On 10/05/22 09:39, Stephen Rothwell wrote:
> > Hi all,
> >
> > Today's linux-next merge of the folio tree got a conflict in:
> >
> > fs/btrfs/send.c
> >
> > between commit:
> >
> > d1a1a97304b4 ("btrfs: send: keep the current inode open while processing it")
> >
> > from the btrfs tree and commit:
> >
> > 2ebdd1df3166 ("mm/readahead: Convert page_cache_async_readahead to take a folio")
> >
> > from the folio tree.
> >
> > I fixed it up (I think - see below) and can carry the fix as
>
> Looks correct to me.

Me too. The patch this one enables is rather sad. It's yet another
reminder that we suck at streaming workloads. But until we fix that,
don't you want to use invalidate_inode_pages2_range() rather than
truncate_inode_pages_range()? If your send conflicts with someone
else's write(), you'll erase their write to the page cache.