Gentoo Archives: gentoo-commits

From: Aaron Bauman <bman@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-cluster/glusterfs/files/
Date: Wed, 01 Jul 2020 19:59:45
Message-Id: 1593633492.8b0c537b6df21cae6a6505decb712ac8b1cd3e86.bman@gentoo
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;