Re: linux-next: manual merge of the vfs_brauner tree with the btrfs tree
From: Qu Wenruo
Date: Sun Nov 23 2025 - 18:25:32 EST
在 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@xxxxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxxx>
---
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;