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.