linux-next: build failure after merge of the btrfs tree

Message ID 20221108094229.1b530fec@canb.auug.org.au
State New
Headers
Series linux-next: build failure after merge of the btrfs tree |

Commit Message

Stephen Rothwell Nov. 7, 2022, 10:42 p.m. UTC
  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 <sfr@canb.auug.org.au>
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 <sfr@canb.auug.org.au>
---
 fs/btrfs/ctree.c | 16 ----------------
 1 file changed, 16 deletions(-)
  

Comments

David Sterba Nov. 8, 2022, 11:21 a.m. UTC | #1
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.
  

Patch

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