Andrew Geissler | c723b72 | 2021-01-08 16:14:09 -0600 | [diff] [blame] | 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 |
| 5 | btrfs_inode (v5.10) |
| 6 | |
| 7 | See upstream commit : |
| 8 | |
| 9 | commit acbf1dd0fcbd10c67826a19958f55a053b32f532 |
| 10 | Author: Nikolay Borisov <nborisov@suse.com> |
| 11 | Date: Mon Aug 31 14:42:40 2020 +0300 |
| 12 | |
| 13 | btrfs: make ordered extent tracepoint take btrfs_inode |
| 14 | |
| 15 | Upstream-Status: Backport |
| 16 | |
| 17 | Signed-off-by: Michael Jeanson <mjeanson@efficios.com> |
| 18 | Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> |
| 19 | Change-Id: I096d0801ffe0ad826cfe414cdd1c0857cbd2b624 |
| 20 | --- |
| 21 | instrumentation/events/lttng-module/btrfs.h | 120 +++++++++++++++----- |
| 22 | 1 file changed, 90 insertions(+), 30 deletions(-) |
| 23 | |
| 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, |
| 29 | ) |
| 30 | #endif |
| 31 | |
| 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, |
| 35 | + |
| 36 | + TP_PROTO(const struct btrfs_inode *inode, |
| 37 | + const struct btrfs_ordered_extent *ordered), |
| 38 | + |
| 39 | + TP_ARGS(inode, ordered), |
| 40 | + |
| 41 | + TP_FIELDS( |
| 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) |
| 53 | + ) |
| 54 | +) |
| 55 | +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) |
| 56 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent, |
| 57 | |
| 58 | TP_PROTO(const struct inode *inode, |
| 59 | @@ -458,7 +480,39 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent, |
| 60 | ) |
| 61 | #endif |
| 62 | |
| 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, |
| 66 | + |
| 67 | + TP_PROTO(const struct btrfs_inode *inode, |
| 68 | + const struct btrfs_ordered_extent *ordered), |
| 69 | + |
| 70 | + TP_ARGS(inode, ordered) |
| 71 | +) |
| 72 | + |
| 73 | +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove, |
| 74 | + |
| 75 | + TP_PROTO(const struct btrfs_inode *inode, |
| 76 | + const struct btrfs_ordered_extent *ordered), |
| 77 | + |
| 78 | + TP_ARGS(inode, ordered) |
| 79 | +) |
| 80 | + |
| 81 | +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start, |
| 82 | + |
| 83 | + TP_PROTO(const struct btrfs_inode *inode, |
| 84 | + const struct btrfs_ordered_extent *ordered), |
| 85 | + |
| 86 | + TP_ARGS(inode, ordered) |
| 87 | +) |
| 88 | + |
| 89 | +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put, |
| 90 | + |
| 91 | + TP_PROTO(const struct btrfs_inode *inode, |
| 92 | + const struct btrfs_ordered_extent *ordered), |
| 93 | + |
| 94 | + TP_ARGS(inode, ordered) |
| 95 | +) |
| 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, |
| 101 | |
| 102 | TP_ARGS(inode, ordered) |
| 103 | ) |
| 104 | +#else |
| 105 | +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add, |
| 106 | + |
| 107 | + TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), |
| 108 | + |
| 109 | + TP_ARGS(inode, ordered) |
| 110 | +) |
| 111 | + |
| 112 | +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove, |
| 113 | + |
| 114 | + TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), |
| 115 | + |
| 116 | + TP_ARGS(inode, ordered) |
| 117 | +) |
| 118 | + |
| 119 | +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start, |
| 120 | + |
| 121 | + TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), |
| 122 | + |
| 123 | + TP_ARGS(inode, ordered) |
| 124 | +) |
| 125 | |
| 126 | +LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put, |
| 127 | + |
| 128 | + TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), |
| 129 | + |
| 130 | + TP_ARGS(inode, ordered) |
| 131 | +) |
| 132 | +#endif |
| 133 | + |
| 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, |
| 140 | |
| 141 | TP_PROTO(const struct page *page, const struct inode *inode, |
| 142 | @@ -563,34 +651,6 @@ LTTNG_TRACEPOINT_EVENT(btrfs_sync_file, |
| 143 | ) |
| 144 | ) |
| 145 | #else |
| 146 | -LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add, |
| 147 | - |
| 148 | - TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), |
| 149 | - |
| 150 | - TP_ARGS(inode, ordered) |
| 151 | -) |
| 152 | - |
| 153 | -LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove, |
| 154 | - |
| 155 | - TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), |
| 156 | - |
| 157 | - TP_ARGS(inode, ordered) |
| 158 | -) |
| 159 | - |
| 160 | -LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start, |
| 161 | - |
| 162 | - TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), |
| 163 | - |
| 164 | - TP_ARGS(inode, ordered) |
| 165 | -) |
| 166 | - |
| 167 | -LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put, |
| 168 | - |
| 169 | - TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), |
| 170 | - |
| 171 | - TP_ARGS(inode, ordered) |
| 172 | -) |
| 173 | - |
| 174 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__writepage, |
| 175 | |
| 176 | TP_PROTO(struct page *page, struct inode *inode, |
| 177 | -- |
| 178 | 2.19.1 |
| 179 | |