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

From: Matthew Wilcox <[email-masked]>
Date: Mon, 24 Nov 2025 00:07:31 +0000

On Mon, Nov 24, 2025 at 09:55:23AM +1030, Qu Wenruo wrote:
> 
> 
> 在 2025/11/24 09:35, Stephen Rothwell 写道:
> > Hi all,
> > 
> > After merging the vfs-brauner tree, today's linux-next build (powerpc
> > ppc64_defconfig) failed like this:
> > 
> > In file included from include/linux/bits.h:30,
> >                   from include/linux/gfp_types.h:5,
> >                   from include/linux/gfp.h:5,
> >                   from include/linux/slab.h:16,
> >                   from fs/btrfs/ordered-data.c:6:
> > fs/btrfs/ordered-data.c: In function 'btrfs_mark_ordered_io_truncated':
> > fs/btrfs/ordered-data.c:561:37: error: implicit declaration of function 'folio_end'; did you mean 'folio_nid'? [-Wimplicit-function-declaration]
> >    561 |         ASSERT(file_offset + len <= folio_end(folio));
> >        |                                     ^~~~~~~~~
> > include/linux/build_bug.h:30:63: note: in definition of macro 'BUILD_BUG_ON_INVALID'
> >     30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e))))
> >        |                                                               ^
> > fs/btrfs/ordered-data.c:561:9: note: in expansion of macro 'ASSERT'
> >    561 |         ASSERT(file_offset + len <= folio_end(folio));
> >        |         ^~~~~~
> > In file included from include/linux/bits.h:30,
> >                   from include/linux/bitops.h:6,
> >                   from fs/btrfs/extent_io.c:3:
> > fs/btrfs/extent_io.c: In function 'submit_range':
> > fs/btrfs/extent_io.c:1621:31: error: implicit declaration of function 'folio_end'; did you mean 'folio_nid'? [-Wimplicit-function-declaration]
> >   1621 |         ASSERT(start + len <= folio_end(folio));
> >        |                               ^~~~~~~~~
> > include/linux/build_bug.h:30:63: note: in definition of macro 'BUILD_BUG_ON_INVALID'
> >     30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e))))
> >        |                                                               ^
> > fs/btrfs/extent_io.c:1621:9: note: in expansion of macro 'ASSERT'
> >   1621 |         ASSERT(start + len <= folio_end(folio));
> >        |         ^~~~~~
> > 
> > Caused by commit
> > 
> >    48f3784b17d9 ("btrfs: Use folio_next_pos()")
> > 
> > interatcing with commits
> > 
> >    98dad9ca0426 ("btrfs: reduce extent map lookup during writes")
> >    c7459b067d9d ("btrfs: make sure all ordered extents beyond EOF is properly truncated")
> > 
> > from the btrfs tree.
> > 
> > I applied the following merge fix patch.
> 
> Thanks for fixing that.
> 
> Although that two patches from btrfs tree is now retracted for other
> reasons.
> 
> I'll refresh the involved patches in the next cycle when btrfs all migrate
> to folio_next_pos().

You don't need to wait for next cycle, you can merge vfs-6.19.folio
into the btrfs tree:

https://lore.kernel.org/linux-fsdevel/20251031-chaostheorie-lautlos-f2dee81d337b@brauner/

I think that would actually be a good idea; that way your testing
will show up any trouble with those commits.  You should also merge in
https://lore.kernel.org/linux-fsdevel/[email-masked]/
which fixes a bug in that series (I'm expecting Christian will merge
that this week).