1 From ddad4e82bc2cc48c0eb56d2daf69409026e8b31a Mon Sep 17 00:00:00 2001
2 From: Michael Jeanson <mjeanson@efficios.com>
3 Date: Tue, 27 Oct 2020 12:10:05 -0400
4 Subject: [PATCH 09/19] fix: btrfs: make ordered extent tracepoint take
9 commit acbf1dd0fcbd10c67826a19958f55a053b32f532
10 Author: Nikolay Borisov <nborisov@suse.com>
11 Date: Mon Aug 31 14:42:40 2020 +0300
13 btrfs: make ordered extent tracepoint take btrfs_inode
15 Upstream-Status: Backport
17 Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
18 Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
19 Change-Id: I096d0801ffe0ad826cfe414cdd1c0857cbd2b624
21 instrumentation/events/lttng-module/btrfs.h | 120 +++++++++++++++-----
22 1 file changed, 90 insertions(+), 30 deletions(-)
24 diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h
25 index 52fcfd0d..d47f3280 100644
26 --- a/instrumentation/events/lttng-module/btrfs.h
27 +++ b/instrumentation/events/lttng-module/btrfs.h
28 @@ -346,7 +346,29 @@ LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist,
32 -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
33 +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
34 +LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
36 + TP_PROTO(const struct btrfs_inode *inode,
37 + const struct btrfs_ordered_extent *ordered),
39 + TP_ARGS(inode, ordered),
42 + ctf_array(u8, fsid, inode->root->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
43 + ctf_integer(ino_t, ino, btrfs_ino(inode))
44 + ctf_integer(u64, file_offset, ordered->file_offset)
45 + ctf_integer(u64, start, ordered->disk_bytenr)
46 + ctf_integer(u64, len, ordered->num_bytes)
47 + ctf_integer(u64, disk_len, ordered->disk_num_bytes)
48 + ctf_integer(u64, bytes_left, ordered->bytes_left)
49 + ctf_integer(unsigned long, flags, ordered->flags)
50 + ctf_integer(int, compress_type, ordered->compress_type)
51 + ctf_integer(int, refs, refcount_read(&ordered->refs))
52 + ctf_integer(u64, root_objectid, inode->root->root_key.objectid)
55 +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
56 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
58 TP_PROTO(const struct inode *inode,
59 @@ -458,7 +480,39 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
63 -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
64 +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
65 +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add,
67 + TP_PROTO(const struct btrfs_inode *inode,
68 + const struct btrfs_ordered_extent *ordered),
70 + TP_ARGS(inode, ordered)
73 +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove,
75 + TP_PROTO(const struct btrfs_inode *inode,
76 + const struct btrfs_ordered_extent *ordered),
78 + TP_ARGS(inode, ordered)
81 +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start,
83 + TP_PROTO(const struct btrfs_inode *inode,
84 + const struct btrfs_ordered_extent *ordered),
86 + TP_ARGS(inode, ordered)
89 +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put,
91 + TP_PROTO(const struct btrfs_inode *inode,
92 + const struct btrfs_ordered_extent *ordered),
94 + TP_ARGS(inode, ordered)
96 +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
97 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
98 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
99 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
100 @@ -494,7 +548,41 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put,
102 TP_ARGS(inode, ordered)
105 +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add,
107 + TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
109 + TP_ARGS(inode, ordered)
112 +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove,
114 + TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
116 + TP_ARGS(inode, ordered)
119 +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start,
121 + TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
123 + TP_ARGS(inode, ordered)
126 +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put,
128 + TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
130 + TP_ARGS(inode, ordered)
134 +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
135 + LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
136 + LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
137 + LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
138 + LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
139 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__writepage,
141 TP_PROTO(const struct page *page, const struct inode *inode,
142 @@ -563,34 +651,6 @@ LTTNG_TRACEPOINT_EVENT(btrfs_sync_file,
146 -LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add,
148 - TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
150 - TP_ARGS(inode, ordered)
153 -LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove,
155 - TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
157 - TP_ARGS(inode, ordered)
160 -LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start,
162 - TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
164 - TP_ARGS(inode, ordered)
167 -LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put,
169 - TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
171 - TP_ARGS(inode, ordered)
174 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__writepage,
176 TP_PROTO(struct page *page, struct inode *inode,