aboutsummaryrefslogtreecommitdiffstats
path: root/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch
blob: dbf7ae01630401024e5ac756cbc69381bb32963d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
From 5a8e26157d9642f022587cc1ca7525213c7a5379 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 13 Jul 2017 18:41:53 -0700
Subject: [PATCH] btree: Avoid conflicts with libc namespace about setkey()

This issue is highlighted with musl mainly because the
function signature from stdlib.h does not match the local
static function

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 btree.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/btree.c b/btree.c
index eddc33b..dd3fef9 100644
--- a/btree.c
+++ b/btree.c
@@ -123,7 +123,7 @@ static unsigned long bval(struct btree_geo *geo, unsigned long *node, int n)
 	return node[geo->no_pairs * geo->keylen + n];
 }
 
-static void setkey(struct btree_geo *geo, unsigned long *node,
+static void _setkey(struct btree_geo *geo, unsigned long *node,
 		unsigned long *key, int n)
 {
 	longcpy(bkey(geo, node, n), key, geo->keylen);
@@ -292,7 +292,7 @@ static unsigned long *find_level(struct btree_head *head, struct btree_geo *geo,
 			/* FIXME: If the right-most key on higher levels is
 			 * always zero, this wouldn't be necessary. */
 			i--;
-			setkey(geo, node, key, i);
+			_setkey(geo, node, key, i);
 		}
 		BUG_ON(i < 0);
 		node = (unsigned long *)bval(geo, node, i);
@@ -311,7 +311,7 @@ static int btree_grow(struct btree_head *head, struct btree_geo *geo)
 		return -ENOMEM;
 	if (head->node) {
 		fill = getfill(geo, head->node, 0);
-		setkey(geo, node, bkey(geo, head->node, fill - 1), 0);
+		_setkey(geo, node, bkey(geo, head->node, fill - 1), 0);
 		setval(geo, node, (unsigned long)head->node, 0);
 	}
 	head->node = node;
@@ -342,16 +342,16 @@ static void steal_l(struct btree_head *head, struct btree_geo *geo, int level,
 
 	for (i = rfill - 1; i >= 0; i--) {
 		/* Shift entries on the right */
-		setkey(geo, right, bkey(geo, right, i), i + no_entries);
+		_setkey(geo, right, bkey(geo, right, i), i + no_entries);
 		setval(geo, right, bval(geo, right, i), i + no_entries);
 	}
 	for (i = 0; i < no_entries; i++) {
 		/* Move some entries to the right */
-		setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i);
+		_setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i);
 		setval(geo, right, bval(geo, left, lfill - no_entries + i), i);
 	}
 	/* Set parent key */
-	setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos);
+	_setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos);
 	for (i = lfill - no_entries; i < lfill; i++)
 		clearpair(geo, left, i);
 }
@@ -366,14 +366,14 @@ static void steal_r(struct btree_head *head, struct btree_geo *geo, int level,
 
 	for (i = 0; i < no_entries; i++) {
 		/* Move some entries to the left */
-		setkey(geo, left, bkey(geo, right, i), lfill + i);
+		_setkey(geo, left, bkey(geo, right, i), lfill + i);
 		setval(geo, left, bval(geo, right, i), lfill + i);
 	}
 	/* Set parent key */
-	setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos);
+	_setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos);
 	/* Shift entries on the right */
 	for ( ; i < rfill; i++) {
-		setkey(geo, right, bkey(geo, right, i), i - no_entries);
+		_setkey(geo, right, bkey(geo, right, i), i - no_entries);
 		setval(geo, right, bval(geo, right, i), i - no_entries);
 	}
 	for (i = rfill - no_entries; i < rfill; i++)
@@ -399,14 +399,14 @@ static int split(struct btree_head *head, struct btree_geo *geo,
 		return err;
 	}
 	for (i = 0; i < fill / 2; i++) {
-		setkey(geo, new, bkey(geo, node, i), i);
+		_setkey(geo, new, bkey(geo, node, i), i);
 		setval(geo, new, bval(geo, node, i), i);
-		setkey(geo, node, bkey(geo, node, i + fill / 2), i);
+		_setkey(geo, node, bkey(geo, node, i + fill / 2), i);
 		setval(geo, node, bval(geo, node, i + fill / 2), i);
 		clearpair(geo, node, i + fill / 2);
 	}
 	if (fill & 1) {
-		setkey(geo, node, bkey(geo, node, fill - 1), i);
+		_setkey(geo, node, bkey(geo, node, fill - 1), i);
 		setval(geo, node, bval(geo, node, fill - 1), i);
 		clearpair(geo, node, fill - 1);
 	}
@@ -487,10 +487,10 @@ retry:
 
 	/* shift and insert */
 	for (i = fill; i > pos; i--) {
-		setkey(geo, node, bkey(geo, node, i - 1), i);
+		_setkey(geo, node, bkey(geo, node, i - 1), i);
 		setval(geo, node, bval(geo, node, i - 1), i);
 	}
-	setkey(geo, node, key, pos);
+	_setkey(geo, node, key, pos);
 	setval(geo, node, val, pos);
 
 	return 0;
@@ -513,7 +513,7 @@ static void merge(struct btree_head *head, struct btree_geo *geo, int level,
 
 	for (i = 0; i < rfill; i++) {
 		/* Move all entries to the left */
-		setkey(geo, left, bkey(geo, right, i), lfill + i);
+		_setkey(geo, left, bkey(geo, right, i), lfill + i);
 		setval(geo, left, bval(geo, right, i), lfill + i);
 	}
 	/* Exchange left and right child in parent */
@@ -615,7 +615,7 @@ static void *btree_remove_level(struct btree_head *head, struct btree_geo *geo,
 
 	/* remove and shift */
 	for (i = pos; i < fill - 1; i++) {
-		setkey(geo, node, bkey(geo, node, i + 1), i);
+		_setkey(geo, node, bkey(geo, node, i + 1), i);
 		setval(geo, node, bval(geo, node, i + 1), i);
 	}
 	clearpair(geo, node, fill - 1);
-- 
2.13.2