diff options
author | He Zhe <zhe.he@windriver.com> | 2020-11-23 19:17:53 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-11-24 10:27:45 +0000 |
commit | 640c718c11028fdf233d72ef0289e2ed5cf62144 (patch) | |
tree | d7ec69bfed6fa5b2cc919fffe3746fb7cf90d60c /meta/recipes-kernel | |
parent | 233177bd526977d8d86e8c7b2d580442e97a2f47 (diff) | |
download | poky-640c718c11028fdf233d72ef0289e2ed5cf62144.tar.gz |
lttng-modules: Backport a patch to fix btrfs build failure
lttng-modules-2.12.3/probes/lttng-probe-btrfs.c:36:
lttng-modules-2.12.3/probes/../probes/lttng-tracepoint-event-impl.h:131:6:
error: conflicting types for 'trace_find_free_extent'
(From OE-Core rev: 42c791ab3815b47188fdd98998cdcb3d2c62ef20)
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel')
-rw-r--r-- | meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch | 318 | ||||
-rw-r--r-- | meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb | 1 |
2 files changed, 319 insertions, 0 deletions
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch b/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch new file mode 100644 index 0000000000..956f53d7b7 --- /dev/null +++ b/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch | |||
@@ -0,0 +1,318 @@ | |||
1 | From e13a7d262928984154fcf89feb14098e0cd1ad31 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Jeanson <mjeanson@efficios.com> | ||
3 | Date: Tue, 27 Oct 2020 11:42:23 -0400 | ||
4 | Subject: [PATCH 04/11] fix: btrfs: tracepoints: output proper root owner for | ||
5 | trace_find_free_extent() (v5.10) | ||
6 | |||
7 | See upstream commit : | ||
8 | |||
9 | commit 437490fed3b0c9ae21af8f70e0f338d34560842b | ||
10 | Author: Qu Wenruo <wqu@suse.com> | ||
11 | Date: Tue Jul 28 09:42:49 2020 +0800 | ||
12 | |||
13 | btrfs: tracepoints: output proper root owner for trace_find_free_extent() | ||
14 | |||
15 | The current trace event always output result like this: | ||
16 | |||
17 | find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=4(METADATA) | ||
18 | find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=4(METADATA) | ||
19 | find_free_extent: root=2(EXTENT_TREE) len=8192 empty_size=0 flags=1(DATA) | ||
20 | find_free_extent: root=2(EXTENT_TREE) len=8192 empty_size=0 flags=1(DATA) | ||
21 | find_free_extent: root=2(EXTENT_TREE) len=4096 empty_size=0 flags=1(DATA) | ||
22 | find_free_extent: root=2(EXTENT_TREE) len=4096 empty_size=0 flags=1(DATA) | ||
23 | |||
24 | T's saying we're allocating data extent for EXTENT tree, which is not | ||
25 | even possible. | ||
26 | |||
27 | It's because we always use EXTENT tree as the owner for | ||
28 | trace_find_free_extent() without using the @root from | ||
29 | btrfs_reserve_extent(). | ||
30 | |||
31 | This patch will change the parameter to use proper @root for | ||
32 | trace_find_free_extent(): | ||
33 | |||
34 | Now it looks much better: | ||
35 | |||
36 | find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP) | ||
37 | find_free_extent: root=5(FS_TREE) len=8192 empty_size=0 flags=1(DATA) | ||
38 | find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=1(DATA) | ||
39 | find_free_extent: root=5(FS_TREE) len=4096 empty_size=0 flags=1(DATA) | ||
40 | find_free_extent: root=5(FS_TREE) len=8192 empty_size=0 flags=1(DATA) | ||
41 | find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP) | ||
42 | find_free_extent: root=7(CSUM_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP) | ||
43 | find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP) | ||
44 | find_free_extent: root=1(ROOT_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP) | ||
45 | |||
46 | Signed-off-by: Michael Jeanson <mjeanson@efficios.com> | ||
47 | Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | ||
48 | Change-Id: I1d674064d29b31417e2acffdeb735f5052a87032 | ||
49 | |||
50 | Upstream-Status: Backport | ||
51 | |||
52 | Signed-off-by: He Zhe <zhe.he@windriver.com> | ||
53 | --- | ||
54 | instrumentation/events/lttng-module/btrfs.h | 206 ++++++++++++-------- | ||
55 | 1 file changed, 122 insertions(+), 84 deletions(-) | ||
56 | |||
57 | diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h | ||
58 | index 7b29008..52fcfd0 100644 | ||
59 | --- a/instrumentation/events/lttng-module/btrfs.h | ||
60 | +++ b/instrumentation/events/lttng-module/btrfs.h | ||
61 | @@ -1856,7 +1856,29 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_f | ||
62 | |||
63 | #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */ | ||
64 | |||
65 | -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0)) | ||
66 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0) || \ | ||
67 | + LTTNG_KERNEL_RANGE(5,9,6, 5,10,0) || \ | ||
68 | + LTTNG_KERNEL_RANGE(5,4,78, 5,5,0)) | ||
69 | +LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, | ||
70 | + | ||
71 | + btrfs_find_free_extent, | ||
72 | + | ||
73 | + TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size, | ||
74 | + u64 data), | ||
75 | + | ||
76 | + TP_ARGS(root, num_bytes, empty_size, data), | ||
77 | + | ||
78 | + TP_FIELDS( | ||
79 | + ctf_array(u8, fsid, root->lttng_fs_info_fsid, BTRFS_UUID_SIZE) | ||
80 | + ctf_integer(u64, root_objectid, root->root_key.objectid) | ||
81 | + ctf_integer(u64, num_bytes, num_bytes) | ||
82 | + ctf_integer(u64, empty_size, empty_size) | ||
83 | + ctf_integer(u64, data, data) | ||
84 | + ) | ||
85 | +) | ||
86 | + | ||
87 | +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0)) | ||
88 | + | ||
89 | LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, | ||
90 | |||
91 | btrfs_find_free_extent, | ||
92 | @@ -1874,6 +1896,105 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, | ||
93 | ) | ||
94 | ) | ||
95 | |||
96 | +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0)) | ||
97 | + | ||
98 | +LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, | ||
99 | + | ||
100 | + btrfs_find_free_extent, | ||
101 | + | ||
102 | + TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, | ||
103 | + u64 data), | ||
104 | + | ||
105 | + TP_ARGS(fs_info, num_bytes, empty_size, data), | ||
106 | + | ||
107 | + TP_FIELDS( | ||
108 | + ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) | ||
109 | + ctf_integer(u64, num_bytes, num_bytes) | ||
110 | + ctf_integer(u64, empty_size, empty_size) | ||
111 | + ctf_integer(u64, data, data) | ||
112 | + ) | ||
113 | +) | ||
114 | + | ||
115 | +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)) | ||
116 | + | ||
117 | +LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, | ||
118 | + | ||
119 | + btrfs_find_free_extent, | ||
120 | + | ||
121 | + TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, | ||
122 | + u64 data), | ||
123 | + | ||
124 | + TP_ARGS(fs_info, num_bytes, empty_size, data), | ||
125 | + | ||
126 | + TP_FIELDS( | ||
127 | + ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) | ||
128 | + ctf_integer(u64, num_bytes, num_bytes) | ||
129 | + ctf_integer(u64, empty_size, empty_size) | ||
130 | + ctf_integer(u64, data, data) | ||
131 | + ) | ||
132 | +) | ||
133 | + | ||
134 | +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) | ||
135 | + | ||
136 | +LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, | ||
137 | + | ||
138 | + btrfs_find_free_extent, | ||
139 | + | ||
140 | + TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, | ||
141 | + u64 data), | ||
142 | + | ||
143 | + TP_ARGS(fs_info, num_bytes, empty_size, data), | ||
144 | + | ||
145 | + TP_FIELDS( | ||
146 | + ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) | ||
147 | + ctf_integer(u64, num_bytes, num_bytes) | ||
148 | + ctf_integer(u64, empty_size, empty_size) | ||
149 | + ctf_integer(u64, data, data) | ||
150 | + ) | ||
151 | +) | ||
152 | + | ||
153 | +#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \ | ||
154 | + LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \ | ||
155 | + LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \ | ||
156 | + LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0)) | ||
157 | + | ||
158 | +LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, | ||
159 | + | ||
160 | + btrfs_find_free_extent, | ||
161 | + | ||
162 | + TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size, | ||
163 | + u64 data), | ||
164 | + | ||
165 | + TP_ARGS(root, num_bytes, empty_size, data), | ||
166 | + | ||
167 | + TP_FIELDS( | ||
168 | + ctf_integer(u64, root_objectid, root->root_key.objectid) | ||
169 | + ctf_integer(u64, num_bytes, num_bytes) | ||
170 | + ctf_integer(u64, empty_size, empty_size) | ||
171 | + ctf_integer(u64, data, data) | ||
172 | + ) | ||
173 | +) | ||
174 | +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) | ||
175 | + | ||
176 | +LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, | ||
177 | + | ||
178 | + btrfs_find_free_extent, | ||
179 | + | ||
180 | + TP_PROTO(struct btrfs_root *root, u64 num_bytes, u64 empty_size, | ||
181 | + u64 data), | ||
182 | + | ||
183 | + TP_ARGS(root, num_bytes, empty_size, data), | ||
184 | + | ||
185 | + TP_FIELDS( | ||
186 | + ctf_integer(u64, root_objectid, root->root_key.objectid) | ||
187 | + ctf_integer(u64, num_bytes, num_bytes) | ||
188 | + ctf_integer(u64, empty_size, empty_size) | ||
189 | + ctf_integer(u64, data, data) | ||
190 | + ) | ||
191 | +) | ||
192 | +#endif | ||
193 | + | ||
194 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0)) | ||
195 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, | ||
196 | |||
197 | TP_PROTO(const struct btrfs_block_group *block_group, u64 start, | ||
198 | @@ -1907,22 +2028,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus | ||
199 | ) | ||
200 | |||
201 | #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0)) | ||
202 | -LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, | ||
203 | - | ||
204 | - btrfs_find_free_extent, | ||
205 | - | ||
206 | - TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, | ||
207 | - u64 data), | ||
208 | - | ||
209 | - TP_ARGS(fs_info, num_bytes, empty_size, data), | ||
210 | - | ||
211 | - TP_FIELDS( | ||
212 | - ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) | ||
213 | - ctf_integer(u64, num_bytes, num_bytes) | ||
214 | - ctf_integer(u64, empty_size, empty_size) | ||
215 | - ctf_integer(u64, data, data) | ||
216 | - ) | ||
217 | -) | ||
218 | |||
219 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, | ||
220 | |||
221 | @@ -1957,22 +2062,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus | ||
222 | ) | ||
223 | |||
224 | #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)) | ||
225 | -LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, | ||
226 | - | ||
227 | - btrfs_find_free_extent, | ||
228 | - | ||
229 | - TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, | ||
230 | - u64 data), | ||
231 | - | ||
232 | - TP_ARGS(fs_info, num_bytes, empty_size, data), | ||
233 | - | ||
234 | - TP_FIELDS( | ||
235 | - ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) | ||
236 | - ctf_integer(u64, num_bytes, num_bytes) | ||
237 | - ctf_integer(u64, empty_size, empty_size) | ||
238 | - ctf_integer(u64, data, data) | ||
239 | - ) | ||
240 | -) | ||
241 | |||
242 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, | ||
243 | |||
244 | @@ -2011,23 +2100,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus | ||
245 | |||
246 | #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) | ||
247 | |||
248 | -LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, | ||
249 | - | ||
250 | - btrfs_find_free_extent, | ||
251 | - | ||
252 | - TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, | ||
253 | - u64 data), | ||
254 | - | ||
255 | - TP_ARGS(fs_info, num_bytes, empty_size, data), | ||
256 | - | ||
257 | - TP_FIELDS( | ||
258 | - ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) | ||
259 | - ctf_integer(u64, num_bytes, num_bytes) | ||
260 | - ctf_integer(u64, empty_size, empty_size) | ||
261 | - ctf_integer(u64, data, data) | ||
262 | - ) | ||
263 | -) | ||
264 | - | ||
265 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, | ||
266 | |||
267 | TP_PROTO(struct btrfs_fs_info *fs_info, | ||
268 | @@ -2066,23 +2138,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus | ||
269 | LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \ | ||
270 | LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0)) | ||
271 | |||
272 | -LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, | ||
273 | - | ||
274 | - btrfs_find_free_extent, | ||
275 | - | ||
276 | - TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size, | ||
277 | - u64 data), | ||
278 | - | ||
279 | - TP_ARGS(root, num_bytes, empty_size, data), | ||
280 | - | ||
281 | - TP_FIELDS( | ||
282 | - ctf_integer(u64, root_objectid, root->root_key.objectid) | ||
283 | - ctf_integer(u64, num_bytes, num_bytes) | ||
284 | - ctf_integer(u64, empty_size, empty_size) | ||
285 | - ctf_integer(u64, data, data) | ||
286 | - ) | ||
287 | -) | ||
288 | - | ||
289 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, | ||
290 | |||
291 | TP_PROTO(const struct btrfs_root *root, | ||
292 | @@ -2120,23 +2175,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus | ||
293 | |||
294 | #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) | ||
295 | |||
296 | -LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, | ||
297 | - | ||
298 | - btrfs_find_free_extent, | ||
299 | - | ||
300 | - TP_PROTO(struct btrfs_root *root, u64 num_bytes, u64 empty_size, | ||
301 | - u64 data), | ||
302 | - | ||
303 | - TP_ARGS(root, num_bytes, empty_size, data), | ||
304 | - | ||
305 | - TP_FIELDS( | ||
306 | - ctf_integer(u64, root_objectid, root->root_key.objectid) | ||
307 | - ctf_integer(u64, num_bytes, num_bytes) | ||
308 | - ctf_integer(u64, empty_size, empty_size) | ||
309 | - ctf_integer(u64, data, data) | ||
310 | - ) | ||
311 | -) | ||
312 | - | ||
313 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, | ||
314 | |||
315 | TP_PROTO(struct btrfs_root *root, | ||
316 | -- | ||
317 | 2.17.1 | ||
318 | |||
diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb b/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb index 0b6a69ff5e..ca79e27df6 100644 --- a/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb +++ b/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb | |||
@@ -11,6 +11,7 @@ include lttng-platforms.inc | |||
11 | SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ | 11 | SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ |
12 | file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ | 12 | file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ |
13 | file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \ | 13 | file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \ |
14 | file://0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch \ | ||
14 | " | 15 | " |
15 | 16 | ||
16 | SRC_URI[sha256sum] = "673ef85c9f03e9b8fed10795e09d4e68add39404b70068d08b10f7b85754d7f0" | 17 | SRC_URI[sha256sum] = "673ef85c9f03e9b8fed10795e09d4e68add39404b70068d08b10f7b85754d7f0" |