fs/btrfs/extent_io.c | 2 +- fs/btrfs/ordered-data.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
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.
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 24 Nov 2025 09:51:32 +1100
Subject: [PATCH] fix up for "btrfs: Use folio_next_pos()"
interacting 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.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
fs/btrfs/extent_io.c | 2 +-
fs/btrfs/ordered-data.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 995439dff185..3e4056dd8b55 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -1618,7 +1618,7 @@ static int submit_range(struct btrfs_inode *inode, struct folio *folio,
ASSERT(IS_ALIGNED(start, sectorsize));
ASSERT(IS_ALIGNED(len, sectorsize));
- ASSERT(start + len <= folio_end(folio));
+ ASSERT(start + len <= folio_next_pos(folio));
while (cur < start + len) {
struct extent_map *em;
diff --git a/fs/btrfs/ordered-data.c b/fs/btrfs/ordered-data.c
index 51c0a910ea81..731032b40821 100644
--- a/fs/btrfs/ordered-data.c
+++ b/fs/btrfs/ordered-data.c
@@ -558,7 +558,7 @@ void btrfs_mark_ordered_io_truncated(struct btrfs_inode *inode, struct folio *fo
u64 cur = file_offset;
ASSERT(file_offset >= folio_pos(folio));
- ASSERT(file_offset + len <= folio_end(folio));
+ ASSERT(file_offset + len <= folio_next_pos(folio));
while (cur < file_offset + len) {
u32 cur_len = file_offset + len - cur;
--
2.51.1
--
Cheers,
Stephen Rothwell
在 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().
Thanks,
Qu
>
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Mon, 24 Nov 2025 09:51:32 +1100
> Subject: [PATCH] fix up for "btrfs: Use folio_next_pos()"
>
> interacting 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.
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
> fs/btrfs/extent_io.c | 2 +-
> fs/btrfs/ordered-data.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
> index 995439dff185..3e4056dd8b55 100644
> --- a/fs/btrfs/extent_io.c
> +++ b/fs/btrfs/extent_io.c
> @@ -1618,7 +1618,7 @@ static int submit_range(struct btrfs_inode *inode, struct folio *folio,
>
> ASSERT(IS_ALIGNED(start, sectorsize));
> ASSERT(IS_ALIGNED(len, sectorsize));
> - ASSERT(start + len <= folio_end(folio));
> + ASSERT(start + len <= folio_next_pos(folio));
>
> while (cur < start + len) {
> struct extent_map *em;
> diff --git a/fs/btrfs/ordered-data.c b/fs/btrfs/ordered-data.c
> index 51c0a910ea81..731032b40821 100644
> --- a/fs/btrfs/ordered-data.c
> +++ b/fs/btrfs/ordered-data.c
> @@ -558,7 +558,7 @@ void btrfs_mark_ordered_io_truncated(struct btrfs_inode *inode, struct folio *fo
> u64 cur = file_offset;
>
> ASSERT(file_offset >= folio_pos(folio));
> - ASSERT(file_offset + len <= folio_end(folio));
> + ASSERT(file_offset + len <= folio_next_pos(folio));
>
> while (cur < file_offset + len) {
> u32 cur_len = file_offset + len - cur;
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/20251123220518.1447261-1-willy@infradead.org/
which fixes a bug in that series (I'm expecting Christian will merge
that this week).
© 2016 - 2025 Red Hat, Inc.