summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@gmail.com>2024-01-24 20:17:09 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-02-02 11:06:17 +0000
commit57640e0be8f93166a7ecaa862c806f9ab2ebad36 (patch)
tree381e057fb57ef2ac7fe9394377e263b798dd3828 /meta/recipes-kernel
parent1bd73eddb5e1a25942a23c34165e2c8759496170 (diff)
downloadpoky-57640e0be8f93166a7ecaa862c806f9ab2ebad36.tar.gz
lttng-modules: fix v6.8+ build
linux-yocto-dev is updating to 6.8 and lttng-modules needs to be updated to account for upsream kernel fixes. These patches are all grabbed from the lttng review gerrit and backported to lttng-modules 2.13.0. (From OE-Core rev: 9a8c065784a9b665246bebe3e635e0ca43cfb30a) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.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-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch70
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch100
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch46
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch124
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch88
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules_2.13.11.bb7
6 files changed, 434 insertions, 1 deletions
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch b/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch
new file mode 100644
index 0000000000..a0d932c7b7
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch
@@ -0,0 +1,70 @@
1From 9e59c2f6387aeb832ae3af3095f987529722e08f Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 22 Jan 2024 11:10:37 -0500
4Subject: [PATCH 1/5] Fix: sched_stat_runtime changed in linux 6.8.0-rc1
5
6See upstream commit:
7
8 commit 5fe6ec8f6ab549b6422e41551abb51802bd48bc7
9 Author: Peter Zijlstra <peterz@infradead.org>
10 Date: Mon Nov 6 13:41:43 2023 +0100
11
12 sched: Remove vruntime from trace_sched_stat_runtime()
13
14 Tracing the runtime delta makes sense, observer can sum over time.
15 Tracing the absolute vruntime makes less sense, inconsistent:
16 absolute-vs-delta, but also vruntime delta can be computed from
17 runtime delta.
18
19 Removing the vruntime thing also makes the two tracepoint sites
20 identical, allowing to unify the code in a later patch.
21
22Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
23
24Change-Id: I24ebb4e06dbb646a1af75ac62b74f3821ff197de
25Signed-off-by: Kienan Stewart <kstewart@efficios.com>
26Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
27---
28 include/instrumentation/events/sched.h | 19 +++++++++++++++++++
29 1 file changed, 19 insertions(+)
30
31diff --git a/include/instrumentation/events/sched.h b/include/instrumentation/events/sched.h
32index 066a0f8..24cf37c 100644
33--- a/include/instrumentation/events/sched.h
34+++ b/include/instrumentation/events/sched.h
35@@ -646,6 +646,24 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_stat_template, sched_stat_blocked,
36 TP_ARGS(tsk, delay))
37 #endif
38
39+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
40+/*
41+ * Tracepoint for accounting runtime (time the task is executing
42+ * on a CPU).
43+ */
44+LTTNG_TRACEPOINT_EVENT(sched_stat_runtime,
45+
46+ TP_PROTO(struct task_struct *tsk, u64 runtime),
47+
48+ TP_ARGS(tsk, runtime),
49+
50+ TP_FIELDS(
51+ ctf_array_text(char, comm, tsk->comm, TASK_COMM_LEN)
52+ ctf_integer(pid_t, tid, tsk->pid)
53+ ctf_integer(u64, runtime, runtime)
54+ )
55+)
56+#else
57 /*
58 * Tracepoint for accounting runtime (time the task is executing
59 * on a CPU).
60@@ -663,6 +681,7 @@ LTTNG_TRACEPOINT_EVENT(sched_stat_runtime,
61 ctf_integer(u64, vruntime, vruntime)
62 )
63 )
64+#endif
65
66 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,12,0) || \
67 LTTNG_RT_KERNEL_RANGE(4,9,27,18, 4,10,0,0) || \
68--
692.39.2
70
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch b/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch
new file mode 100644
index 0000000000..5a4294db02
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch
@@ -0,0 +1,100 @@
1From d52ab4b9a71a4bef535dadb8e7062112ac5c0c88 Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 22 Jan 2024 11:33:39 -0500
4Subject: [PATCH 2/5] Fix: timer_start changed in linux 6.8.0-rc1
5
6See upstream commit
7
8 commit dbcdcb62b59db2cf6a24113873b90da15c6f0b19
9 Author: Anna-Maria Behnsen <anna-maria@linutronix.de>
10 Date: Fri Dec 1 10:26:26 2023 +0100
11
12 tracing/timers: Enhance timer_start tracepoint
13
14 For starting a timer, the timer is enqueued into a bucket of the timer
15 wheel. The bucket expiry is the defacto expiry of the timer but it is not
16 equal the timer expiry because of increasing granularity when bucket is in
17 a higher level of the wheel. To be able to figure out in a trace whether a
18 timer expired in time or not, the bucket expiry time is required as well.
19
20 Add bucket expiry time to the timer_start tracepoint and thereby simplify
21 the arguments.
22
23Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
24
25Change-Id: I4868092765745b1efd0c48f13c0b837f2007dcb6
26Signed-off-by: Kienan Stewart <kstewart@efficios.com>
27Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
28---
29 include/instrumentation/events/timer.h | 24 +++++++++++++-----------
30 1 file changed, 13 insertions(+), 11 deletions(-)
31
32diff --git a/include/instrumentation/events/timer.h b/include/instrumentation/events/timer.h
33index 91a2cd9..ce571f5 100644
34--- a/include/instrumentation/events/timer.h
35+++ b/include/instrumentation/events/timer.h
36@@ -45,8 +45,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init,
37 TP_ARGS(timer)
38 )
39
40-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0) || \
41- LTTNG_RHEL_KERNEL_RANGE(3,10,0,957,0,0, 3,11,0,0,0,0))
42+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
43 /**
44 * timer_start - called when the timer is started
45 * @timer: pointer to struct timer_list
46@@ -55,39 +54,42 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init,
47 */
48 LTTNG_TRACEPOINT_EVENT(timer_start,
49
50- TP_PROTO(struct timer_list *timer, unsigned long expires,
51- unsigned int flags),
52+ TP_PROTO(struct timer_list *timer, unsigned long bucket_expiry),
53
54- TP_ARGS(timer, expires, flags),
55+ TP_ARGS(timer, bucket_expiry),
56
57 TP_FIELDS(
58 ctf_integer_hex(void *, timer, timer)
59 ctf_integer_hex(void *, function, timer->function)
60- ctf_integer(unsigned long, expires, expires)
61+ ctf_integer(unsigned long, expires, timer->expires)
62+ ctf_integer(unsigned long, bucket_expiry, bucket_expiry)
63 ctf_integer(unsigned long, now, jiffies)
64- ctf_integer(unsigned int, flags, flags)
65+ ctf_integer(unsigned int, flags, timer->flags)
66 )
67 )
68-#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0)) */
69+#else
70 /**
71 * timer_start - called when the timer is started
72 * @timer: pointer to struct timer_list
73 * @expires: the timers expiry time
74+ * @flags: the timers expiry time
75 */
76 LTTNG_TRACEPOINT_EVENT(timer_start,
77
78- TP_PROTO(struct timer_list *timer, unsigned long expires),
79+ TP_PROTO(struct timer_list *timer, unsigned long expires,
80+ unsigned int flags),
81
82- TP_ARGS(timer, expires),
83+ TP_ARGS(timer, expires, flags),
84
85 TP_FIELDS(
86 ctf_integer_hex(void *, timer, timer)
87 ctf_integer_hex(void *, function, timer->function)
88 ctf_integer(unsigned long, expires, expires)
89 ctf_integer(unsigned long, now, jiffies)
90+ ctf_integer(unsigned int, flags, flags)
91 )
92 )
93-#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0)) */
94+#endif
95
96 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0) || \
97 LTTNG_RHEL_KERNEL_RANGE(4,18,0,193,0,0, 4,19,0,0,0,0))
98--
992.39.2
100
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch b/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch
new file mode 100644
index 0000000000..4ad9adc5c2
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch
@@ -0,0 +1,46 @@
1From 7432f583674294b676577b6505b89fc74dc5c7ab Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 22 Jan 2024 11:47:40 -0500
4Subject: [PATCH 3/5] Fix: strlcopy removed in linux 6.8.0-rc1
5
6See upstream commit:
7
8 commit d26270061ae66b915138af7cd73ca6f8b85e6b44
9 Author: Kees Cook <keescook@chromium.org>
10 Date: Thu Jan 18 12:31:55 2024 -0800
11
12 string: Remove strlcpy()
13
14 With all the users of strlcpy() removed[1] from the kernel, remove the
15 API, self-tests, and other references. Leave mentions in Documentation
16 (about its deprecation), and in checkpatch.pl (to help migrate host-only
17 tools/ usage). Long live strscpy().
18
19Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
20
21Change-Id: I27cdff70a504b25340cc59150ed8e959d9629e43
22Signed-off-by: Kienan Stewart <kstewart@efficios.com>
23Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
24---
25 src/lib/ringbuffer/ring_buffer_backend.c | 4 ++++
26 1 file changed, 4 insertions(+)
27
28diff --git a/src/lib/ringbuffer/ring_buffer_backend.c b/src/lib/ringbuffer/ring_buffer_backend.c
29index 9a339be..2181145 100644
30--- a/src/lib/ringbuffer/ring_buffer_backend.c
31+++ b/src/lib/ringbuffer/ring_buffer_backend.c
32@@ -405,7 +405,11 @@ int channel_backend_init(struct channel_backend *chanb,
33 chanb->extra_reader_sb =
34 (config->mode == RING_BUFFER_OVERWRITE) ? 1 : 0;
35 chanb->num_subbuf = num_subbuf;
36+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
37+ strscpy(chanb->name, name, NAME_MAX);
38+#else
39 strlcpy(chanb->name, name, NAME_MAX);
40+#endif
41 memcpy(&chanb->config, config, sizeof(chanb->config));
42
43 if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) {
44--
452.39.2
46
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch b/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch
new file mode 100644
index 0000000000..c9b1af37c8
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch
@@ -0,0 +1,124 @@
1From c8198382fe1cede3e16aae9978642a113a217e4c Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 22 Jan 2024 12:17:33 -0500
4Subject: [PATCH 4/5] Fix: btrfs_chunk tracepoints changed in linux 6.8.0-rc1
5
6See upstream commit:
7
8 commit 7dc66abb5a47778d7db327783a0ba172b8cff0b5
9 Author: Filipe Manana <fdmanana@suse.com>
10 Date: Tue Nov 21 13:38:38 2023 +0000
11
12 btrfs: use a dedicated data structure for chunk maps
13
14 Currently we abuse the extent_map structure for two purposes:
15
16 1) To actually represent extents for inodes;
17 2) To represent chunk mappings.
18
19 This is odd and has several disadvantages:
20
21 1) To create a chunk map, we need to do two memory allocations: one for
22 an extent_map structure and another one for a map_lookup structure, so
23 more potential for an allocation failure and more complicated code to
24 manage and link two structures;
25
26 2) For a chunk map we actually only use 3 fields (24 bytes) of the
27 respective extent map structure: the 'start' field to have the logical
28 start address of the chunk, the 'len' field to have the chunk's size,
29 and the 'orig_block_len' field to contain the chunk's stripe size.
30
31 Besides wasting a memory, it's also odd and not intuitive at all to
32 have the stripe size in a field named 'orig_block_len'.
33
34 We are also using 'block_len' of the extent_map structure to contain
35 the chunk size, so we have 2 fields for the same value, 'len' and
36 'block_len', which is pointless;
37
38 3) When an extent map is associated to a chunk mapping, we set the bit
39 EXTENT_FLAG_FS_MAPPING on its flags and then make its member named
40 'map_lookup' point to the associated map_lookup structure. This means
41 that for an extent map associated to an inode extent, we are not using
42 this 'map_lookup' pointer, so wasting 8 bytes (on a 64 bits platform);
43
44 4) Extent maps associated to a chunk mapping are never merged or split so
45 it's pointless to use the existing extent map infrastructure.
46
47 So add a dedicated data structure named 'btrfs_chunk_map' to represent
48 chunk mappings, this is basically the existing map_lookup structure with
49 some extra fields:
50
51 1) 'start' to contain the chunk logical address;
52 2) 'chunk_len' to contain the chunk's length;
53 3) 'stripe_size' for the stripe size;
54 4) 'rb_node' for insertion into a rb tree;
55 5) 'refs' for reference counting.
56
57 This way we do a single memory allocation for chunk mappings and we don't
58 waste memory for them with unused/unnecessary fields from an extent_map.
59
60 We also save 8 bytes from the extent_map structure by removing the
61 'map_lookup' pointer, so the size of struct extent_map is reduced from
62 144 bytes down to 136 bytes, and we can now have 30 extents map per 4K
63 page instead of 28.
64
65Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
66
67Change-Id: Ie52b5ac83df4bc6abeb84d958c4f5d24ae0d8c75
68Signed-off-by: Kienan Stewart <kstewart@efficios.com>
69Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
70---
71 include/instrumentation/events/btrfs.h | 37 +++++++++++++++++++++++++-
72 1 file changed, 36 insertions(+), 1 deletion(-)
73
74diff --git a/include/instrumentation/events/btrfs.h b/include/instrumentation/events/btrfs.h
75index 7c7b9b0..a2a412b 100644
76--- a/include/instrumentation/events/btrfs.h
77+++ b/include/instrumentation/events/btrfs.h
78@@ -1609,7 +1609,42 @@ LTTNG_TRACEPOINT_EVENT(btrfs_delayed_ref_head,
79 )
80 #endif
81
82-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
83+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
84+
85+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
86+
87+ TP_PROTO(const struct btrfs_fs_info *fs_info, const struct btrfs_chunk_map *map,
88+ u64 offset, u64 size),
89+
90+ TP_ARGS(fs_info, map, offset, size),
91+
92+ TP_FIELDS(
93+ ctf_integer(int, num_stripes, map->num_stripes)
94+ ctf_integer(u64, type, map->type)
95+ ctf_integer(int, sub_stripes, map->sub_stripes)
96+ ctf_integer(u64, offset, offset)
97+ ctf_integer(u64, size, size)
98+ ctf_integer(u64, root_objectid, fs_info->chunk_root->root_key.objectid)
99+ )
100+)
101+
102+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_alloc,
103+
104+ TP_PROTO(const struct btrfs_fs_info *fs_info, const struct btrfs_chunk_map *map,
105+ u64 offset, u64 size),
106+
107+ TP_ARGS(fs_info, map, offset, size)
108+)
109+
110+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_free,
111+
112+ TP_PROTO(const struct btrfs_fs_info *fs_info, const struct btrfs_chunk_map *map,
113+ u64 offset, u64 size),
114+
115+ TP_ARGS(fs_info, map, offset, size)
116+)
117+
118+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
119
120 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
121
122--
1232.39.2
124
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch b/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch
new file mode 100644
index 0000000000..65c33dafef
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch
@@ -0,0 +1,88 @@
1From 86db094386b43bb5c6b47552f9a4826ca8ba917d Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 22 Jan 2024 13:13:36 -0500
4Subject: [PATCH 5/5] Fix: btrfs_get_extent flags and compress_type changed in
5 linux 6.8.0-rc1
6
7See upstream commit:
8
9 commit f86f7a75e2fb5fd7d31d00eab8a392f97ba42ce9
10 Author: Filipe Manana <fdmanana@suse.com>
11 Date: Mon Dec 4 16:20:33 2023 +0000
12
13 btrfs: use the flags of an extent map to identify the compression type
14
15 Currently, in struct extent_map, we use an unsigned int (32 bits) to
16 identify the compression type of an extent and an unsigned long (64 bits
17 on a 64 bits platform, 32 bits otherwise) for flags. We are only using
18 6 different flags, so an unsigned long is excessive and we can use flags
19 to identify the compression type instead of using a dedicated 32 bits
20 field.
21
22 We can easily have tens or hundreds of thousands (or more) of extent maps
23 on busy and large filesystems, specially with compression enabled or many
24 or large files with tons of small extents. So it's convenient to have the
25 extent_map structure as small as possible in order to use less memory.
26
27 So remove the compression type field from struct extent_map, use flags
28 to identify the compression type and shorten the flags field from an
29 unsigned long to a u32. This saves 8 bytes (on 64 bits platforms) and
30 reduces the size of the structure from 136 bytes down to 128 bytes, using
31 now only two cache lines, and increases the number of extent maps we can
32 have per 4K page from 30 to 32. By using a u32 for the flags instead of
33 an unsigned long, we no longer use test_bit(), set_bit() and clear_bit(),
34 but that level of atomicity is not needed as most flags are never cleared
35 once set (before adding an extent map to the tree), and the ones that can
36 be cleared or set after an extent map is added to the tree, are always
37 performed while holding the write lock on the extent map tree, while the
38 reader holds a lock on the tree or tests for a flag that never changes
39 once the extent map is in the tree (such as compression flags).
40
41Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
42
43Change-Id: I95402d43f064c016b423b48652e4968d3db9b8a9
44Signed-off-by: Kienan Stewart <kstewart@efficios.com>
45Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
46---
47 include/instrumentation/events/btrfs.h | 25 ++++++++++++++++++++++++-
48 1 file changed, 24 insertions(+), 1 deletion(-)
49
50diff --git a/include/instrumentation/events/btrfs.h b/include/instrumentation/events/btrfs.h
51index a2a412b..ffb1b64 100644
52--- a/include/instrumentation/events/btrfs.h
53+++ b/include/instrumentation/events/btrfs.h
54@@ -177,7 +177,30 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode, btrfs_inode_evict,
55 )
56 #endif
57
58-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
59+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
60+
61+LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
62+
63+ TP_PROTO(const struct btrfs_root *root, const struct btrfs_inode *inode,
64+ const struct extent_map *map),
65+
66+ TP_ARGS(root, inode, map),
67+
68+ TP_FIELDS(
69+ ctf_integer(u64, root_objectid, root->root_key.objectid)
70+ ctf_integer(u64, ino, btrfs_ino(inode))
71+ ctf_integer(u64, start, map->start)
72+ ctf_integer(u64, len, map->len)
73+ ctf_integer(u64, orig_start, map->orig_start)
74+ ctf_integer(u64, block_start, map->block_start)
75+ ctf_integer(u64, block_len, map->block_len)
76+ ctf_integer(unsigned int, flags, map->flags)
77+ ctf_integer(int, refs, refcount_read(&map->refs))
78+ ctf_integer(unsigned int, compress_type, extent_map_compression(map))
79+ )
80+)
81+
82+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
83
84 LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
85
86--
872.39.2
88
diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.13.11.bb b/meta/recipes-kernel/lttng/lttng-modules_2.13.11.bb
index 4f2cadee90..b6bae733c7 100644
--- a/meta/recipes-kernel/lttng/lttng-modules_2.13.11.bb
+++ b/meta/recipes-kernel/lttng/lttng-modules_2.13.11.bb
@@ -10,7 +10,12 @@ inherit module
10include lttng-platforms.inc 10include lttng-platforms.inc
11 11
12SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ 12SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
13 " 13 file://0001-Fix-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch \
14 file://0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch \
15 file://0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch \
16 file://0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch \
17 file://0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch \
18 "
14 19
15# Use :append here so that the patch is applied also when using devupstream 20# Use :append here so that the patch is applied also when using devupstream
16SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch" 21SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch"