1 |
commit: 8b0c537b6df21cae6a6505decb712ac8b1cd3e86 |
2 |
Author: Michael Mair-Keimberger <m.mairkeimberger <AT> gmail <DOT> com> |
3 |
AuthorDate: Wed Jul 1 17:17:00 2020 +0000 |
4 |
Commit: Aaron Bauman <bman <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jul 1 19:58:12 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b0c537b |
7 |
|
8 |
sys-cluster/glusterfs: remove unused patches |
9 |
|
10 |
Package-Manager: Portage-2.3.103, Repoman-2.3.23 |
11 |
Signed-off-by: Michael Mair-Keimberger <m.mairkeimberger <AT> gmail.com> |
12 |
Closes: https://github.com/gentoo/gentoo/pull/16533 |
13 |
Signed-off-by: Aaron Bauman <bman <AT> gentoo.org> |
14 |
|
15 |
.../glusterfs-3.12.2-poisoned-sysmacros.patch | 11 -- |
16 |
.../files/glusterfs-4.1.0-silent_rules.patch | 15 -- |
17 |
.../files/glusterfs-6.7-fix-rebalance-crash.patch | 185 --------------------- |
18 |
3 files changed, 211 deletions(-) |
19 |
|
20 |
diff --git a/sys-cluster/glusterfs/files/glusterfs-3.12.2-poisoned-sysmacros.patch b/sys-cluster/glusterfs/files/glusterfs-3.12.2-poisoned-sysmacros.patch |
21 |
deleted file mode 100644 |
22 |
index 34153516374..00000000000 |
23 |
--- a/sys-cluster/glusterfs/files/glusterfs-3.12.2-poisoned-sysmacros.patch |
24 |
+++ /dev/null |
25 |
@@ -1,11 +0,0 @@ |
26 |
-diff --git a/libglusterfs/src/compat.h b/libglusterfs/src/compat.h |
27 |
-index 1d0ac27e8..b1a7c0a93 100644 |
28 |
---- a/libglusterfs/src/compat.h |
29 |
-+++ b/libglusterfs/src/compat.h |
30 |
-@@ -510,6 +510,7 @@ int gf_mkostemp (char *tmpl, int suffixlen, int flags); |
31 |
- /* Use run API, see run.h */ |
32 |
- #include <stdlib.h> /* system(), mkostemp() */ |
33 |
- #include <stdio.h> /* popen() */ |
34 |
-+#include <sys/sysmacros.h> |
35 |
- #pragma GCC poison system mkostemp popen |
36 |
- #endif |
37 |
|
38 |
diff --git a/sys-cluster/glusterfs/files/glusterfs-4.1.0-silent_rules.patch b/sys-cluster/glusterfs/files/glusterfs-4.1.0-silent_rules.patch |
39 |
deleted file mode 100644 |
40 |
index 236898ab8c1..00000000000 |
41 |
--- a/sys-cluster/glusterfs/files/glusterfs-4.1.0-silent_rules.patch |
42 |
+++ /dev/null |
43 |
@@ -1,15 +0,0 @@ |
44 |
-diff -Naur a/configure.ac b/configure.ac |
45 |
---- a/configure.ac 2018-03-08 22:50:23.221758897 +0000 |
46 |
-+++ b/configure.ac 2018-03-08 22:53:12.776129757 +0000 |
47 |
-@@ -19,11 +19,6 @@ |
48 |
- #but libglusterfs fails to build with contrib (Then are not set up that way?) |
49 |
- #AM_INIT_AUTOMAKE([subdir-objects]) |
50 |
- |
51 |
--m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)]) |
52 |
-- |
53 |
--if make --help 2>&1 | grep -q no-print-directory; then |
54 |
-- AM_MAKEFLAGS="$AM_MAKEFLAGS --no-print-directory"; |
55 |
--fi |
56 |
- |
57 |
- AC_CONFIG_HEADERS([config.h site.h]) |
58 |
- |
59 |
|
60 |
diff --git a/sys-cluster/glusterfs/files/glusterfs-6.7-fix-rebalance-crash.patch b/sys-cluster/glusterfs/files/glusterfs-6.7-fix-rebalance-crash.patch |
61 |
deleted file mode 100644 |
62 |
index e5a31623a32..00000000000 |
63 |
--- a/sys-cluster/glusterfs/files/glusterfs-6.7-fix-rebalance-crash.patch |
64 |
+++ /dev/null |
65 |
@@ -1,185 +0,0 @@ |
66 |
-From ff1eae7f882b8f12380e0c35a9a73b672583cd4c Mon Sep 17 00:00:00 2001 |
67 |
-From: N Balachandran <nbalacha@××××××.com> |
68 |
-Date: Tue, 01 Oct 2019 17:37:15 +0530 |
69 |
-Subject: [PATCH] cluster/dht: Correct fd processing loop |
70 |
- |
71 |
-The fd processing loops in the |
72 |
-dht_migration_complete_check_task and the |
73 |
-dht_rebalance_inprogress_task functions were unsafe |
74 |
-and could cause an open to be sent on an already freed |
75 |
-fd. This has been fixed. |
76 |
- |
77 |
-> Change-Id: I0a3c7d2fba314089e03dfd704f9dceb134749540 |
78 |
-> Fixes: bz#1757399 |
79 |
-> Signed-off-by: N Balachandran <nbalacha@××××××.com> |
80 |
-> (cherry picked from commit 9b15867070b0cc241ab165886292ecffc3bc0aed) |
81 |
- |
82 |
-Change-Id: I0a3c7d2fba314089e03dfd704f9dceb134749540 |
83 |
-Fixes: bz#1786983 |
84 |
-Signed-off-by: Mohit Agrawal <moagrawa@××××××.com> |
85 |
---- |
86 |
- |
87 |
-diff --git a/xlators/cluster/dht/src/dht-helper.c b/xlators/cluster/dht/src/dht-helper.c |
88 |
-index acad493..4f7370d 100644 |
89 |
---- a/xlators/cluster/dht/src/dht-helper.c |
90 |
-+++ b/xlators/cluster/dht/src/dht-helper.c |
91 |
-@@ -1290,6 +1290,7 @@ |
92 |
- fd_t *tmp = NULL; |
93 |
- uint64_t tmp_miginfo = 0; |
94 |
- dht_migrate_info_t *miginfo = NULL; |
95 |
-+ gf_boolean_t skip_open = _gf_false; |
96 |
- int open_failed = 0; |
97 |
- |
98 |
- this = THIS; |
99 |
-@@ -1428,24 +1429,34 @@ |
100 |
- * the loop will cause the destruction of the fd. So we need to |
101 |
- * iterate the list safely because iter_fd cannot be trusted. |
102 |
- */ |
103 |
-- list_for_each_entry_safe(iter_fd, tmp, &inode->fd_list, inode_list) |
104 |
-- { |
105 |
-- if (fd_is_anonymous(iter_fd)) |
106 |
-- continue; |
107 |
-- |
108 |
-- if (dht_fd_open_on_dst(this, iter_fd, dst_node)) |
109 |
-- continue; |
110 |
-- |
111 |
-+ iter_fd = list_entry((&inode->fd_list)->next, typeof(*iter_fd), inode_list); |
112 |
-+ while (&iter_fd->inode_list != (&inode->fd_list)) { |
113 |
-+ if (fd_is_anonymous(iter_fd) || |
114 |
-+ (dht_fd_open_on_dst(this, iter_fd, dst_node))) { |
115 |
-+ if (!tmp) { |
116 |
-+ iter_fd = list_entry(iter_fd->inode_list.next, typeof(*iter_fd), |
117 |
-+ inode_list); |
118 |
-+ continue; |
119 |
-+ } |
120 |
-+ skip_open = _gf_true; |
121 |
-+ } |
122 |
- /* We need to release the inode->lock before calling |
123 |
- * syncop_open() to avoid possible deadlocks. However this |
124 |
- * can cause the iter_fd to be released by other threads. |
125 |
- * To avoid this, we take a reference before releasing the |
126 |
- * lock. |
127 |
- */ |
128 |
-- __fd_ref(iter_fd); |
129 |
-+ fd_ref(iter_fd); |
130 |
- |
131 |
- UNLOCK(&inode->lock); |
132 |
- |
133 |
-+ if (tmp) { |
134 |
-+ fd_unref(tmp); |
135 |
-+ tmp = NULL; |
136 |
-+ } |
137 |
-+ if (skip_open) |
138 |
-+ goto next; |
139 |
-+ |
140 |
- /* flags for open are stripped down to allow following the |
141 |
- * new location of the file, otherwise we can get EEXIST or |
142 |
- * truncate the file again as rebalance is moving the data */ |
143 |
-@@ -1467,9 +1478,11 @@ |
144 |
- dht_fd_ctx_set(this, iter_fd, dst_node); |
145 |
- } |
146 |
- |
147 |
-- fd_unref(iter_fd); |
148 |
-- |
149 |
-+ next: |
150 |
- LOCK(&inode->lock); |
151 |
-+ skip_open = _gf_false; |
152 |
-+ tmp = iter_fd; |
153 |
-+ iter_fd = list_entry(tmp->inode_list.next, typeof(*tmp), inode_list); |
154 |
- } |
155 |
- |
156 |
- SYNCTASK_SETID(frame->root->uid, frame->root->gid); |
157 |
-@@ -1482,6 +1495,10 @@ |
158 |
- |
159 |
- unlock: |
160 |
- UNLOCK(&inode->lock); |
161 |
-+ if (tmp) { |
162 |
-+ fd_unref(tmp); |
163 |
-+ tmp = NULL; |
164 |
-+ } |
165 |
- |
166 |
- out: |
167 |
- if (dict) { |
168 |
-@@ -1563,6 +1580,7 @@ |
169 |
- int open_failed = 0; |
170 |
- uint64_t tmp_miginfo = 0; |
171 |
- dht_migrate_info_t *miginfo = NULL; |
172 |
-+ gf_boolean_t skip_open = _gf_false; |
173 |
- |
174 |
- this = THIS; |
175 |
- frame = data; |
176 |
-@@ -1683,24 +1701,40 @@ |
177 |
- * the loop will cause the destruction of the fd. So we need to |
178 |
- * iterate the list safely because iter_fd cannot be trusted. |
179 |
- */ |
180 |
-- list_for_each_entry_safe(iter_fd, tmp, &inode->fd_list, inode_list) |
181 |
-- { |
182 |
-- if (fd_is_anonymous(iter_fd)) |
183 |
-- continue; |
184 |
-- |
185 |
-- if (dht_fd_open_on_dst(this, iter_fd, dst_node)) |
186 |
-- continue; |
187 |
-- |
188 |
-+ iter_fd = list_entry((&inode->fd_list)->next, typeof(*iter_fd), inode_list); |
189 |
-+ while (&iter_fd->inode_list != (&inode->fd_list)) { |
190 |
- /* We need to release the inode->lock before calling |
191 |
- * syncop_open() to avoid possible deadlocks. However this |
192 |
- * can cause the iter_fd to be released by other threads. |
193 |
- * To avoid this, we take a reference before releasing the |
194 |
- * lock. |
195 |
- */ |
196 |
-- __fd_ref(iter_fd); |
197 |
- |
198 |
-+ if (fd_is_anonymous(iter_fd) || |
199 |
-+ (dht_fd_open_on_dst(this, iter_fd, dst_node))) { |
200 |
-+ if (!tmp) { |
201 |
-+ iter_fd = list_entry(iter_fd->inode_list.next, typeof(*iter_fd), |
202 |
-+ inode_list); |
203 |
-+ continue; |
204 |
-+ } |
205 |
-+ skip_open = _gf_true; |
206 |
-+ } |
207 |
-+ |
208 |
-+ /* Yes, this is ugly but there isn't a cleaner way to do this |
209 |
-+ * the fd_ref is an atomic increment so not too bad. We want to |
210 |
-+ * reduce the number of inode locks and unlocks. |
211 |
-+ */ |
212 |
-+ |
213 |
-+ fd_ref(iter_fd); |
214 |
- UNLOCK(&inode->lock); |
215 |
- |
216 |
-+ if (tmp) { |
217 |
-+ fd_unref(tmp); |
218 |
-+ tmp = NULL; |
219 |
-+ } |
220 |
-+ if (skip_open) |
221 |
-+ goto next; |
222 |
-+ |
223 |
- /* flags for open are stripped down to allow following the |
224 |
- * new location of the file, otherwise we can get EEXIST or |
225 |
- * truncate the file again as rebalance is moving the data */ |
226 |
-@@ -1721,9 +1755,11 @@ |
227 |
- dht_fd_ctx_set(this, iter_fd, dst_node); |
228 |
- } |
229 |
- |
230 |
-- fd_unref(iter_fd); |
231 |
-- |
232 |
-+ next: |
233 |
- LOCK(&inode->lock); |
234 |
-+ skip_open = _gf_false; |
235 |
-+ tmp = iter_fd; |
236 |
-+ iter_fd = list_entry(tmp->inode_list.next, typeof(*tmp), inode_list); |
237 |
- } |
238 |
- |
239 |
- SYNCTASK_SETID(frame->root->uid, frame->root->gid); |
240 |
-@@ -1731,6 +1767,10 @@ |
241 |
- unlock: |
242 |
- UNLOCK(&inode->lock); |
243 |
- |
244 |
-+ if (tmp) { |
245 |
-+ fd_unref(tmp); |
246 |
-+ tmp = NULL; |
247 |
-+ } |
248 |
- if (open_failed) { |
249 |
- ret = -1; |
250 |
- goto out; |