2022-11-07 22:56:04

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the btrfs tree

Hi all,

After merging the btrfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

ld: fs/btrfs/messages.o:(.opd+0x90): multiple definition of `abort_should_print_stack'; fs/btrfs/ctree.o:(.opd+0x270): first defined here
ld: fs/btrfs/messages.o: in function `.abort_should_print_stack':
messages.c:(.text.unlikely+0x55c): multiple definition of `.abort_should_print_stack'; fs/btrfs/ctree.o:ctree.c:(.text.unlikely+0x0): first defined here

Caused by commit

8bb808c6ad91 ("btrfs: don't print stack trace when transaction is aborted due to ENOMEM")

from the btrfs-fixes tree interacting with commit

c6f1e8101ccc ("btrfs: don't print stack trace when transaction is aborted due to ENOMEM")

from the btrfs tree.

I applied the following merge fix for today.

From: Stephen Rothwell <[email protected]>
Date: Tue, 8 Nov 2022 09:30:57 +1100
Subject: [PATCH] btrfs: fix up for "btrfs: don't print stack trace when
transaction is aborted due to ENOMEM"

Signed-off-by: Stephen Rothwell <[email protected]>
---
fs/btrfs/ctree.c | 16 ----------------
1 file changed, 16 deletions(-)

diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 2e4a7b25ba81..8443a2e42fd5 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -120,22 +120,6 @@ noinline void btrfs_release_path(struct btrfs_path *p)
}
}

-/*
- * We want the transaction abort to print stack trace only for errors where the
- * cause could be a bug, eg. due to ENOSPC, and not for common errors that are
- * caused by external factors.
- */
-bool __cold abort_should_print_stack(int errno)
-{
- switch (errno) {
- case -EIO:
- case -EROFS:
- case -ENOMEM:
- return false;
- }
- return true;
-}
-
/*
* safely gets a reference on the root node of a tree. A lock
* is not taken, so a concurrent writer may put a different node
--
2.35.1

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2022-11-08 11:48:29

by David Sterba

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the btrfs tree

On Tue, Nov 08, 2022 at 09:42:29AM +1100, Stephen Rothwell wrote:
> Hi all,
>
> After merging the btrfs tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
>
> ld: fs/btrfs/messages.o:(.opd+0x90): multiple definition of `abort_should_print_stack'; fs/btrfs/ctree.o:(.opd+0x270): first defined here
> ld: fs/btrfs/messages.o: in function `.abort_should_print_stack':
> messages.c:(.text.unlikely+0x55c): multiple definition of `.abort_should_print_stack'; fs/btrfs/ctree.o:ctree.c:(.text.unlikely+0x0): first defined here
>
> Caused by commit
>
> 8bb808c6ad91 ("btrfs: don't print stack trace when transaction is aborted due to ENOMEM")
>
> from the btrfs-fixes tree interacting with commit
>
> c6f1e8101ccc ("btrfs: don't print stack trace when transaction is aborted due to ENOMEM")
>
> from the btrfs tree.
>
> I applied the following merge fix for today.

Thanks. We have development branch that moved a lot of code and fixes to
mainline are in different files. Locally I see that for-next builds fine
because the next-fixes is not merged to it but the linux-next tree
merges both. I'll do more build checks, sorry for inconvenience.