Subject: linux-next: build failure after merge of the bcachefs tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 11 Nov 2024 09:32:51 +1100

Hi all,

After merging the bcachefs tree, today's linux-next build (x86_64
allmodconfig) failed like this:

fs/bcachefs/btree_update_interior.c:1446:13: error: redefinition of 'key_deleted_in_insert'
 1446 | static bool key_deleted_in_insert(struct keylist *insert_keys, struct bpos pos)
      |             ^~~~~~~~~~~~~~~~~~~~~
fs/bcachefs/btree_update_interior.c:1437:13: note: previous definition of 'key_deleted_in_insert' with type 'bool(struct keylist *, struct bpos)' {aka '_Bool(struct keylist *, struct bpos)'}
 1437 | static bool key_deleted_in_insert(struct keylist *insert_keys, struct bpos pos)
      |             ^~~~~~~~~~~~~~~~~~~~~
fs/bcachefs/btree_update_interior.c:1437:13: error: 'key_deleted_in_insert' defined but not used [-Werror=unused-function]
cc1: all warnings being treated as errors

Caused by commit

  85a62009bd05 ("bcachefs: Fix topology errors on split after merge")

badly merging with

  cec136d348e0 ("bcachefs: Fix topology errors on split after merge")

Just one of the problems with having duplicate patches :-(

I applied the following merge fix patch or today.

From bc58e02f03f7f111092cbef0f7b2137edbb44372 Mon Sep 17 00:00:00 2001
From: Stephen Rothwell <[email-masked]>
Date: Mon, 11 Nov 2024 08:59:47 +1100
Subject: [PATCH] fix up for "bcachefs: Fix topology errors on split after merge"

being duplicated and causing a bad automatic merge.

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 fs/bcachefs/btree_update_interior.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/fs/bcachefs/btree_update_interior.c b/fs/bcachefs/btree_update_interior.c
index 5b7def78308a..55bd9e7816e2 100644
--- a/fs/bcachefs/btree_update_interior.c
+++ b/fs/bcachefs/btree_update_interior.c
@@ -1443,15 +1443,6 @@ static bool key_deleted_in_insert(struct keylist *insert_keys, struct bpos pos)
 	return false;
 }
 
-static bool key_deleted_in_insert(struct keylist *insert_keys, struct bpos pos)
-{
-	if (insert_keys)
-		for_each_keylist_key(insert_keys, k)
-			if (bkey_deleted(&k->k) && bpos_eq(k->k.p, pos))
-				return true;
-	return false;
-}
-
 /*
  * Move keys from n1 (original replacement node, now lower node) to n2 (higher
  * node)
-- 
2.45.2

-- 
Cheers,
Stephen Rothwell