fix: btrfs: make btrfs_ordered_extent naming consistent (v5.6)
[lttng-modules.git] / instrumentation / events / lttng-module / btrfs.h
index 8e4008c0f8fd929dbf102a5b836a7d1e51ff1b60..7b2900856d4d18a0d5376abbd63be99063cf43fd 100644 (file)
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #undef TRACE_SYSTEM
 #define TRACE_SYSTEM btrfs
 
@@ -19,8 +20,12 @@ struct btrfs_delayed_ref_node;
 struct btrfs_delayed_tree_ref;
 struct btrfs_delayed_data_ref;
 struct btrfs_delayed_ref_head;
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
+struct btrfs_block_group;
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
 struct btrfs_block_group_cache;
+#endif
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
 struct btrfs_free_cluster;
 #endif
 struct map_lookup;
@@ -32,7 +37,16 @@ struct extent_state;
 
 #define BTRFS_UUID_SIZE 16
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
+#define lttng_fs_info_fsid fs_info->fs_devices->fsid
+#else
+#define lttng_fs_info_fsid fs_info->fsid
+#endif
+
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
        LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT(btrfs_transaction_commit,
 
@@ -229,7 +243,10 @@ LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
        )
 )
 
-#elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
+#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
 
 LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
 
@@ -273,7 +290,85 @@ LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
 
 #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
+LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist,
+
+       TP_PROTO(const struct btrfs_fs_info *fs_info,
+               const struct extent_map *existing, const struct extent_map *map,
+               u64 start, u64 len),
+
+       TP_ARGS(fs_info, existing, map, start, len),
+
+       TP_FIELDS(
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+               ctf_integer(u64, e_start, existing->start)
+               ctf_integer(u64, e_len, existing->len)
+               ctf_integer(u64, map_start, map->start)
+               ctf_integer(u64, map_len, map->len)
+               ctf_integer(u64, start, start)
+               ctf_integer(u64, len, len)
+       )
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0))
+LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist,
+
+       TP_PROTO(struct btrfs_fs_info *fs_info,
+               const struct extent_map *existing, const struct extent_map *map,
+               u64 start, u64 len),
+
+       TP_ARGS(fs_info, existing, map, start, len),
+
+       TP_FIELDS(
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+               ctf_integer(u64, e_start, existing->start)
+               ctf_integer(u64, e_len, existing->len)
+               ctf_integer(u64, map_start, map->start)
+               ctf_integer(u64, map_len, map->len)
+               ctf_integer(u64, start, start)
+               ctf_integer(u64, len, len)
+       )
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
+LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist,
+
+       TP_PROTO(const struct extent_map *existing, const struct extent_map *map, u64 start, u64 len),
+
+       TP_ARGS(existing, map, start, len),
+
+       TP_FIELDS(
+               ctf_integer(u64, e_start, existing->start)
+               ctf_integer(u64, e_len, existing->len)
+               ctf_integer(u64, map_start, map->start)
+               ctf_integer(u64, map_len, map->len)
+               ctf_integer(u64, start, start)
+               ctf_integer(u64, len, len)
+       )
+)
+#endif
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
+
+       TP_PROTO(const struct inode *inode,
+                const struct btrfs_ordered_extent *ordered),
+
+       TP_ARGS(inode, ordered),
+
+       TP_FIELDS(
+               ctf_integer(ino_t, ino, inode->i_ino)
+               ctf_integer(u64, file_offset, ordered->file_offset)
+               ctf_integer(u64, start, ordered->disk_bytenr)
+               ctf_integer(u64, len, ordered->num_bytes)
+               ctf_integer(u64, disk_len, ordered->disk_num_bytes)
+               ctf_integer(u64, bytes_left, ordered->bytes_left)
+               ctf_integer(unsigned long, flags, ordered->flags)
+               ctf_integer(int, compress_type, ordered->compress_type)
+               ctf_integer(int, refs, refcount_read(&ordered->refs))
+               ctf_integer(u64, root_objectid,
+                               BTRFS_I(inode)->root->root_key.objectid)
+       )
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
 
        TP_PROTO(const struct inode *inode,
@@ -316,7 +411,10 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
                                BTRFS_I(inode)->root->root_key.objectid)
        )
 )
-#elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
+#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
 
        TP_PROTO(const struct inode *inode, const struct btrfs_ordered_extent *ordered),
@@ -361,6 +459,9 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
 #endif
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
        LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add,
 
@@ -563,7 +664,13 @@ LTTNG_TRACEPOINT_EVENT(btrfs_sync_file,
 #endif
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
-       LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
+       LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,4,103,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,114,94,0,0, 4,4,114,95,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,120,94,0,0, 4,4,120,95,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,126,94,0,0, 4,5,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT(btrfs_sync_fs,
 
        TP_PROTO(const struct btrfs_fs_info *fs_info, int wait),
@@ -598,7 +705,28 @@ LTTNG_TRACEPOINT_EVENT(btrfs_sync_fs,
 )
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
+LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
+
+       TP_PROTO(const struct btrfs_fs_info *fs_info,
+                const struct btrfs_block_group *block_group, int create),
+
+       TP_ARGS(fs_info, block_group, create),
+
+       TP_FIELDS(
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+               ctf_integer(u64, offset, block_group->start)
+               ctf_integer(u64, size, block_group->length)
+               ctf_integer(u64, flags, block_group->flags)
+               ctf_integer(u64, bytes_used, block_group->used)
+               ctf_integer(u64, bytes_super, block_group->bytes_super)
+               ctf_integer(int, create, create)
+       )
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
        LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
 
@@ -608,7 +736,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
        TP_ARGS(fs_info, block_group, create),
 
        TP_FIELDS(
-               ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
                ctf_integer(u64, offset, block_group->key.objectid)
                ctf_integer(u64, size, block_group->key.offset)
                ctf_integer(u64, flags, block_group->flags)
@@ -626,7 +754,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
        TP_ARGS(fs_info, block_group, create),
 
        TP_FIELDS(
-               ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
                ctf_integer(u64, offset, block_group->key.objectid)
                ctf_integer(u64, size, block_group->key.offset)
                ctf_integer(u64, flags, block_group->flags)
@@ -637,8 +765,15 @@ LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
 )
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
-LTTNG_TRACEPOINT_EVENT(btrfs_delayed_tree_ref,
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,4,103,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,114,94,0,0, 4,4,114,95,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,120,94,0,0, 4,4,120,95,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,126,94,0,0, 4,5,0,0,0,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_tree_ref,
 
        TP_PROTO(const struct btrfs_fs_info *fs_info,
                 const struct btrfs_delayed_ref_node *ref,
@@ -648,6 +783,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_delayed_tree_ref,
        TP_ARGS(fs_info, ref, full_ref, action),
 
        TP_FIELDS(
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
                ctf_integer(u64, bytenr, ref->bytenr)
                ctf_integer(u64, num_bytes, ref->num_bytes)
                ctf_integer(int, action, action)
@@ -658,8 +794,36 @@ LTTNG_TRACEPOINT_EVENT(btrfs_delayed_tree_ref,
                ctf_integer(u64, seq, ref->seq)
        )
 )
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
+
+       add_delayed_tree_ref,
+
+       btrfs_add_delayed_tree_ref,
+
+       TP_PROTO(const struct btrfs_fs_info *fs_info,
+                const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_tree_ref *full_ref,
+                int action),
+
+       TP_ARGS(fs_info, ref, full_ref, action)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
+
+       run_delayed_tree_ref,
+
+       btrfs_run_delayed_tree_ref,
+
+       TP_PROTO(const struct btrfs_fs_info *fs_info,
+                const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_tree_ref *full_ref,
+                int action),
+
+       TP_ARGS(fs_info, ref, full_ref, action)
+)
 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
-LTTNG_TRACEPOINT_EVENT(btrfs_delayed_tree_ref,
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_tree_ref,
 
        TP_PROTO(struct btrfs_fs_info *fs_info,
                 struct btrfs_delayed_ref_node *ref,
@@ -669,6 +833,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_delayed_tree_ref,
        TP_ARGS(fs_info, ref, full_ref, action),
 
        TP_FIELDS(
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
                ctf_integer(u64, bytenr, ref->bytenr)
                ctf_integer(u64, num_bytes, ref->num_bytes)
                ctf_integer(int, action, action)
@@ -679,13 +844,41 @@ LTTNG_TRACEPOINT_EVENT(btrfs_delayed_tree_ref,
                ctf_integer(u64, seq, ref->seq)
        )
 )
-#else
-LTTNG_TRACEPOINT_EVENT(btrfs_delayed_tree_ref,
 
-       TP_PROTO(struct btrfs_delayed_ref_node *ref,
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
+
+       add_delayed_tree_ref,
+
+       btrfs_add_delayed_tree_ref,
+
+       TP_PROTO(struct btrfs_fs_info *fs_info,
+                struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_tree_ref *full_ref,
+                int action),
+
+       TP_ARGS(fs_info, ref, full_ref, action)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
+
+       run_delayed_tree_ref,
+
+       btrfs_run_delayed_tree_ref,
+
+       TP_PROTO(struct btrfs_fs_info *fs_info,
+                struct btrfs_delayed_ref_node *ref,
                 struct btrfs_delayed_tree_ref *full_ref,
                 int action),
 
+       TP_ARGS(fs_info, ref, full_ref, action)
+)
+#elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,92,0,0, 4,5,0,0,0,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_tree_ref,
+
+       TP_PROTO(const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_tree_ref *full_ref,
+                int action),
+
        TP_ARGS(ref, full_ref, action),
 
        TP_FIELDS(
@@ -696,17 +889,40 @@ LTTNG_TRACEPOINT_EVENT(btrfs_delayed_tree_ref,
                ctf_integer(u64, ref_root, full_ref->root)
                ctf_integer(int, level, full_ref->level)
                ctf_integer(int, type, ref->type)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0))
                ctf_integer(u64, seq, ref->seq)
-#endif
        )
 )
-#endif
 
-LTTNG_TRACEPOINT_EVENT(btrfs_delayed_data_ref,
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
+
+       add_delayed_tree_ref,
+
+       btrfs_add_delayed_tree_ref,
+
+       TP_PROTO(const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_tree_ref *full_ref,
+                int action),
+
+       TP_ARGS(ref, full_ref, action)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
+
+       run_delayed_tree_ref,
+
+       btrfs_run_delayed_tree_ref,
+
+       TP_PROTO(const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_tree_ref *full_ref,
+                int action),
+
+       TP_ARGS(ref, full_ref, action)
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_tree_ref,
 
        TP_PROTO(struct btrfs_delayed_ref_node *ref,
-                struct btrfs_delayed_data_ref *full_ref,
+                struct btrfs_delayed_tree_ref *full_ref,
                 int action),
 
        TP_ARGS(ref, full_ref, action),
@@ -717,154 +933,545 @@ LTTNG_TRACEPOINT_EVENT(btrfs_delayed_data_ref,
                ctf_integer(int, action, action)
                ctf_integer(u64, parent, full_ref->parent)
                ctf_integer(u64, ref_root, full_ref->root)
-               ctf_integer(u64, owner, full_ref->objectid)
-               ctf_integer(u64, offset, full_ref->offset)
+               ctf_integer(int, level, full_ref->level)
                ctf_integer(int, type, ref->type)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0))
                ctf_integer(u64, seq, ref->seq)
-#endif
        )
 )
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
-LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
 
-       TP_PROTO(const struct btrfs_fs_info *fs_info,
-                const struct btrfs_delayed_ref_head *head_ref,
-                int action),
+       add_delayed_tree_ref,
 
-       TP_ARGS(fs_info, head_ref, action),
+       btrfs_add_delayed_tree_ref,
 
-       TP_FIELDS(
-               ctf_integer(u64, bytenr, head_ref->bytenr)
-               ctf_integer(u64, num_bytes, head_ref->num_bytes)
-               ctf_integer(int, action, action)
-               ctf_integer(int, is_data, head_ref->is_data)
-       )
+       TP_PROTO(struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_tree_ref *full_ref,
+                int action),
+
+       TP_ARGS(ref, full_ref, action)
 )
 
-LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs_delayed_ref_head, add_delayed_ref_head,
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
 
-       TP_PROTO(const struct btrfs_fs_info *fs_info,
-                const struct btrfs_delayed_ref_head *head_ref,
+       run_delayed_tree_ref,
+
+       btrfs_run_delayed_tree_ref,
+
+       TP_PROTO(struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_tree_ref *full_ref,
                 int action),
 
-       TP_ARGS(fs_info, head_ref, action)
+       TP_ARGS(ref, full_ref, action)
 )
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0))
+LTTNG_TRACEPOINT_EVENT(btrfs_delayed_tree_ref,
+
+       TP_PROTO(struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_tree_ref *full_ref,
+                int action),
 
-LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs_delayed_ref_head, run_delayed_ref_head,
+       TP_ARGS(ref, full_ref, action),
 
-       TP_PROTO(const struct btrfs_fs_info *fs_info,
-                const struct btrfs_delayed_ref_head *head_ref,
+       TP_FIELDS(
+               ctf_integer(u64, bytenr, ref->bytenr)
+               ctf_integer(u64, num_bytes, ref->num_bytes)
+               ctf_integer(int, action, action)
+               ctf_integer(u64, parent, full_ref->parent)
+               ctf_integer(u64, ref_root, full_ref->root)
+               ctf_integer(int, level, full_ref->level)
+               ctf_integer(int, type, ref->type)
+               ctf_integer(u64, seq, ref->seq)
+       )
+)
+#else
+LTTNG_TRACEPOINT_EVENT(btrfs_delayed_tree_ref,
+
+       TP_PROTO(struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_tree_ref *full_ref,
                 int action),
 
-       TP_ARGS(fs_info, head_ref, action)
+       TP_ARGS(ref, full_ref, action),
+
+       TP_FIELDS(
+               ctf_integer(u64, bytenr, ref->bytenr)
+               ctf_integer(u64, num_bytes, ref->num_bytes)
+               ctf_integer(int, action, action)
+               ctf_integer(u64, parent, full_ref->parent)
+               ctf_integer(u64, ref_root, full_ref->root)
+               ctf_integer(int, level, full_ref->level)
+               ctf_integer(int, type, ref->type)
+       )
 )
+#endif
 
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
-       LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
-LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,4,103,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,114,94,0,0, 4,4,114,95,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,120,94,0,0, 4,4,120,95,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,126,94,0,0, 4,5,0,0,0,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_data_ref,
 
        TP_PROTO(const struct btrfs_fs_info *fs_info,
                 const struct btrfs_delayed_ref_node *ref,
-                const struct btrfs_delayed_ref_head *head_ref,
+                const struct btrfs_delayed_data_ref *full_ref,
                 int action),
 
-       TP_ARGS(fs_info, ref, head_ref, action),
+       TP_ARGS(fs_info, ref, full_ref, action),
 
        TP_FIELDS(
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
                ctf_integer(u64, bytenr, ref->bytenr)
                ctf_integer(u64, num_bytes, ref->num_bytes)
                ctf_integer(int, action, action)
-               ctf_integer(int, is_data, head_ref->is_data)
+               ctf_integer(u64, parent, full_ref->parent)
+               ctf_integer(u64, ref_root, full_ref->root)
+               ctf_integer(u64, owner, full_ref->objectid)
+               ctf_integer(u64, offset, full_ref->offset)
+               ctf_integer(int, type, ref->type)
+               ctf_integer(u64, seq, ref->seq)
        )
 )
 
-LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs_delayed_ref_head, add_delayed_ref_head,
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
+
+       add_delayed_data_ref,
+
+       btrfs_add_delayed_data_ref,
 
        TP_PROTO(const struct btrfs_fs_info *fs_info,
                 const struct btrfs_delayed_ref_node *ref,
-                const struct btrfs_delayed_ref_head *head_ref,
+                const struct btrfs_delayed_data_ref *full_ref,
                 int action),
 
-       TP_ARGS(fs_info, ref, head_ref, action)
+       TP_ARGS(fs_info, ref, full_ref, action)
 )
 
-LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs_delayed_ref_head, run_delayed_ref_head,
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
+
+       run_delayed_data_ref,
+
+       btrfs_run_delayed_data_ref,
 
        TP_PROTO(const struct btrfs_fs_info *fs_info,
                 const struct btrfs_delayed_ref_node *ref,
-                const struct btrfs_delayed_ref_head *head_ref,
+                const struct btrfs_delayed_data_ref *full_ref,
                 int action),
 
-       TP_ARGS(fs_info, ref, head_ref, action)
+       TP_ARGS(fs_info, ref, full_ref, action)
 )
-
 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
-LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_data_ref,
 
        TP_PROTO(struct btrfs_fs_info *fs_info,
                 struct btrfs_delayed_ref_node *ref,
-                struct btrfs_delayed_ref_head *head_ref,
+                struct btrfs_delayed_data_ref *full_ref,
                 int action),
 
-       TP_ARGS(fs_info, ref, head_ref, action),
+       TP_ARGS(fs_info, ref, full_ref, action),
 
        TP_FIELDS(
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
                ctf_integer(u64, bytenr, ref->bytenr)
                ctf_integer(u64, num_bytes, ref->num_bytes)
                ctf_integer(int, action, action)
-               ctf_integer(int, is_data, head_ref->is_data)
+               ctf_integer(u64, parent, full_ref->parent)
+               ctf_integer(u64, ref_root, full_ref->root)
+               ctf_integer(u64, owner, full_ref->objectid)
+               ctf_integer(u64, offset, full_ref->offset)
+               ctf_integer(int, type, ref->type)
+               ctf_integer(u64, seq, ref->seq)
        )
 )
 
-LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs_delayed_ref_head, add_delayed_ref_head,
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
+
+       add_delayed_data_ref,
+
+       btrfs_add_delayed_data_ref,
 
        TP_PROTO(struct btrfs_fs_info *fs_info,
                 struct btrfs_delayed_ref_node *ref,
-                struct btrfs_delayed_ref_head *head_ref,
+                struct btrfs_delayed_data_ref *full_ref,
                 int action),
 
-       TP_ARGS(fs_info, ref, head_ref, action)
+       TP_ARGS(fs_info, ref, full_ref, action)
 )
 
-LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs_delayed_ref_head, run_delayed_ref_head,
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
+
+       run_delayed_data_ref,
+
+       btrfs_run_delayed_data_ref,
 
        TP_PROTO(struct btrfs_fs_info *fs_info,
                 struct btrfs_delayed_ref_node *ref,
-                struct btrfs_delayed_ref_head *head_ref,
+                struct btrfs_delayed_data_ref *full_ref,
                 int action),
 
-       TP_ARGS(fs_info, ref, head_ref, action)
+       TP_ARGS(fs_info, ref, full_ref, action)
 )
+#elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,92,0,0, 4,5,0,0,0,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_data_ref,
 
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
-LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
-
-       TP_PROTO(struct btrfs_delayed_ref_node *ref,
-                struct btrfs_delayed_ref_head *head_ref,
+       TP_PROTO(const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_data_ref *full_ref,
                 int action),
 
-       TP_ARGS(ref, head_ref, action),
+       TP_ARGS(ref, full_ref, action),
 
        TP_FIELDS(
                ctf_integer(u64, bytenr, ref->bytenr)
                ctf_integer(u64, num_bytes, ref->num_bytes)
                ctf_integer(int, action, action)
-               ctf_integer(int, is_data, head_ref->is_data)
+               ctf_integer(u64, parent, full_ref->parent)
+               ctf_integer(u64, ref_root, full_ref->root)
+               ctf_integer(u64, owner, full_ref->objectid)
+               ctf_integer(u64, offset, full_ref->offset)
+               ctf_integer(int, type, ref->type)
+               ctf_integer(u64, seq, ref->seq)
        )
 )
 
-LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs_delayed_ref_head, add_delayed_ref_head,
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
+
+       add_delayed_data_ref,
+
+       btrfs_add_delayed_data_ref,
+
+       TP_PROTO(const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_data_ref *full_ref,
+                int action),
+
+       TP_ARGS(fs_info, ref, full_ref, action)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
+
+       run_delayed_data_ref,
+
+       btrfs_run_delayed_data_ref,
+
+       TP_PROTO(const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_data_ref *full_ref,
+                int action),
+
+       TP_ARGS(fs_info, ref, full_ref, action)
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_data_ref,
 
        TP_PROTO(struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_data_ref *full_ref,
+                int action),
+
+       TP_ARGS(ref, full_ref, action),
+
+       TP_FIELDS(
+               ctf_integer(u64, bytenr, ref->bytenr)
+               ctf_integer(u64, num_bytes, ref->num_bytes)
+               ctf_integer(int, action, action)
+               ctf_integer(u64, parent, full_ref->parent)
+               ctf_integer(u64, ref_root, full_ref->root)
+               ctf_integer(u64, owner, full_ref->objectid)
+               ctf_integer(u64, offset, full_ref->offset)
+               ctf_integer(int, type, ref->type)
+               ctf_integer(u64, seq, ref->seq)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
+
+       add_delayed_data_ref,
+
+       btrfs_add_delayed_data_ref,
+
+       TP_PROTO(struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_data_ref *full_ref,
+                int action),
+
+       TP_ARGS(fs_info, ref, full_ref, action)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
+
+       run_delayed_data_ref,
+
+       btrfs_run_delayed_data_ref,
+
+       TP_PROTO(struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_data_ref *full_ref,
+                int action),
+
+       TP_ARGS(fs_info, ref, full_ref, action)
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0))
+LTTNG_TRACEPOINT_EVENT(btrfs_delayed_data_ref,
+
+       TP_PROTO(struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_data_ref *full_ref,
+                int action),
+
+       TP_ARGS(ref, full_ref, action),
+
+       TP_FIELDS(
+               ctf_integer(u64, bytenr, ref->bytenr)
+               ctf_integer(u64, num_bytes, ref->num_bytes)
+               ctf_integer(int, action, action)
+               ctf_integer(u64, parent, full_ref->parent)
+               ctf_integer(u64, ref_root, full_ref->root)
+               ctf_integer(u64, owner, full_ref->objectid)
+               ctf_integer(u64, offset, full_ref->offset)
+               ctf_integer(int, type, ref->type)
+               ctf_integer(u64, seq, ref->seq)
+       )
+)
+#else
+LTTNG_TRACEPOINT_EVENT(btrfs_delayed_data_ref,
+
+       TP_PROTO(struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_data_ref *full_ref,
+                int action),
+
+       TP_ARGS(ref, full_ref, action),
+
+       TP_FIELDS(
+               ctf_integer(u64, bytenr, ref->bytenr)
+               ctf_integer(u64, num_bytes, ref->num_bytes)
+               ctf_integer(int, action, action)
+               ctf_integer(u64, parent, full_ref->parent)
+               ctf_integer(u64, ref_root, full_ref->root)
+               ctf_integer(u64, owner, full_ref->objectid)
+               ctf_integer(u64, offset, full_ref->offset)
+               ctf_integer(int, type, ref->type)
+       )
+)
+#endif
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
+
+       TP_PROTO(const struct btrfs_fs_info *fs_info,
+                const struct btrfs_delayed_ref_head *head_ref,
+                int action),
+
+       TP_ARGS(fs_info, head_ref, action),
+
+       TP_FIELDS(
+               ctf_integer(u64, bytenr, head_ref->bytenr)
+               ctf_integer(u64, num_bytes, head_ref->num_bytes)
+               ctf_integer(int, action, action)
+               ctf_integer(int, is_data, head_ref->is_data)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
+
+       add_delayed_ref_head,
+
+       btrfs_add_delayed_ref_head,
+
+       TP_PROTO(const struct btrfs_fs_info *fs_info,
+                const struct btrfs_delayed_ref_head *head_ref,
+                int action),
+
+       TP_ARGS(fs_info, head_ref, action)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
+
+       run_delayed_ref_head,
+
+       btrfs_run_delayed_ref_head,
+
+       TP_PROTO(const struct btrfs_fs_info *fs_info,
+                const struct btrfs_delayed_ref_head *head_ref,
+                int action),
+
+       TP_ARGS(fs_info, head_ref, action)
+)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,4,103,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,114,94,0,0, 4,4,114,95,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,120,94,0,0, 4,4,120,95,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,126,94,0,0, 4,5,0,0,0,0))
+
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
+
+       TP_PROTO(const struct btrfs_fs_info *fs_info,
+                const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_ref_head *head_ref,
+                int action),
+
+       TP_ARGS(fs_info, ref, head_ref, action),
+
+       TP_FIELDS(
+               ctf_integer(u64, bytenr, ref->bytenr)
+               ctf_integer(u64, num_bytes, ref->num_bytes)
+               ctf_integer(int, action, action)
+               ctf_integer(int, is_data, head_ref->is_data)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
+
+       add_delayed_ref_head,
+
+       btrfs_add_delayed_ref_head,
+
+       TP_PROTO(const struct btrfs_fs_info *fs_info,
+                const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_ref_head *head_ref,
+                int action),
+
+       TP_ARGS(fs_info, ref, head_ref, action)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
+
+       run_delayed_ref_head,
+
+       btrfs_run_delayed_ref_head,
+
+       TP_PROTO(const struct btrfs_fs_info *fs_info,
+                const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_ref_head *head_ref,
+                int action),
+
+       TP_ARGS(fs_info, ref, head_ref, action)
+)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
+
+       TP_PROTO(struct btrfs_fs_info *fs_info,
+                struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_ref_head *head_ref,
+                int action),
+
+       TP_ARGS(fs_info, ref, head_ref, action),
+
+       TP_FIELDS(
+               ctf_integer(u64, bytenr, ref->bytenr)
+               ctf_integer(u64, num_bytes, ref->num_bytes)
+               ctf_integer(int, action, action)
+               ctf_integer(int, is_data, head_ref->is_data)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
+
+       add_delayed_ref_head,
+
+       btrfs_add_delayed_ref_head,
+
+       TP_PROTO(struct btrfs_fs_info *fs_info,
+                struct btrfs_delayed_ref_node *ref,
                 struct btrfs_delayed_ref_head *head_ref,
                 int action),
 
+       TP_ARGS(fs_info, ref, head_ref, action)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
+
+       run_delayed_ref_head,
+
+       btrfs_run_delayed_ref_head,
+
+       TP_PROTO(struct btrfs_fs_info *fs_info,
+                struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_ref_head *head_ref,
+                int action),
+
+       TP_ARGS(fs_info, ref, head_ref, action)
+)
+
+#elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,92,0,0, 4,5,0,0,0,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
+
+       TP_PROTO(const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_ref_head *head_ref,
+                int action),
+
+       TP_ARGS(ref, head_ref, action),
+
+       TP_FIELDS(
+               ctf_integer(u64, bytenr, ref->bytenr)
+               ctf_integer(u64, num_bytes, ref->num_bytes)
+               ctf_integer(int, action, action)
+               ctf_integer(int, is_data, head_ref->is_data)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
+
+       add_delayed_ref_head,
+
+       btrfs_add_delayed_ref_head,
+
+       TP_PROTO(const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_ref_head *head_ref,
+                int action),
+
        TP_ARGS(ref, head_ref, action)
 )
 
-LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs_delayed_ref_head, run_delayed_ref_head,
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
+
+       run_delayed_ref_head,
+
+       btrfs_run_delayed_ref_head,
+
+       TP_PROTO(const struct btrfs_delayed_ref_node *ref,
+                const struct btrfs_delayed_ref_head *head_ref,
+                int action),
+
+       TP_ARGS(ref, head_ref, action)
+)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
+
+       TP_PROTO(struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_ref_head *head_ref,
+                int action),
+
+       TP_ARGS(ref, head_ref, action),
+
+       TP_FIELDS(
+               ctf_integer(u64, bytenr, ref->bytenr)
+               ctf_integer(u64, num_bytes, ref->num_bytes)
+               ctf_integer(int, action, action)
+               ctf_integer(int, is_data, head_ref->is_data)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
+
+       add_delayed_ref_head,
+
+       btrfs_add_delayed_ref_head,
+
+       TP_PROTO(struct btrfs_delayed_ref_node *ref,
+                struct btrfs_delayed_ref_head *head_ref,
+                int action),
+
+       TP_ARGS(ref, head_ref, action)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
+
+       run_delayed_ref_head,
+
+       btrfs_run_delayed_ref_head,
 
        TP_PROTO(struct btrfs_delayed_ref_node *ref,
                 struct btrfs_delayed_ref_head *head_ref,
@@ -912,18 +1519,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
 
 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_alloc,
 
-       TP_PROTO(const struct btrfs_fs_info *info, const struct map_lookup *map,
+       TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map,
                 u64 offset, u64 size),
 
-       TP_ARGS(info, map, offset, size)
+       TP_ARGS(fs_info, map, offset, size)
 )
 
 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_free,
 
-       TP_PROTO(const struct btrfs_fs_info *info, const struct map_lookup *map,
+       TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map,
                 u64 offset, u64 size),
 
-       TP_ARGS(info, map, offset, size)
+       TP_ARGS(fs_info, map, offset, size)
 )
 
 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
@@ -947,21 +1554,24 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
 
 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_alloc,
 
-       TP_PROTO(struct btrfs_fs_info *info, struct map_lookup *map,
+       TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,
                 u64 offset, u64 size),
 
-       TP_ARGS(info, map, offset, size)
+       TP_ARGS(fs_info, map, offset, size)
 )
 
 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_free,
 
-       TP_PROTO(struct btrfs_fs_info *info, struct map_lookup *map,
+       TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,
                 u64 offset, u64 size),
 
-       TP_ARGS(info, map, offset, size)
+       TP_ARGS(fs_info, map, offset, size)
 )
 
-#elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
+#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
 
 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
 
@@ -1034,6 +1644,9 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_free,
 #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
        LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT(btrfs_cow_block,
 
@@ -1070,7 +1683,26 @@ LTTNG_TRACEPOINT_EVENT(btrfs_cow_block,
 )
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
+LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
+
+       TP_PROTO(const struct btrfs_fs_info *fs_info, const char *type, u64 val,
+                u64 bytes, int reserve),
+
+       TP_ARGS(fs_info, type, val, bytes, reserve),
+
+       TP_FIELDS(
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+               ctf_string(type, type)
+               ctf_integer(u64, val, val)
+               ctf_integer(u64, bytes, bytes)
+               ctf_integer(int, reserve, reserve)
+       )
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
        LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
 
@@ -1080,7 +1712,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
        TP_ARGS(fs_info, type, val, bytes, reserve),
 
        TP_FIELDS(
-               ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
                ctf_string(type, type)
                ctf_integer(u64, val, val)
                ctf_integer(u64, bytes, bytes)
@@ -1096,7 +1728,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
        TP_ARGS(fs_info, type, val, bytes, reserve),
 
        TP_FIELDS(
-               ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
                ctf_string(type, type)
                ctf_integer(u64, val, val)
                ctf_integer(u64, bytes, bytes)
@@ -1109,9 +1741,9 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
 
 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
 
-       TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len),
+       TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
 
-       TP_ARGS(info, start, len),
+       TP_ARGS(fs_info, start, len),
 
        TP_FIELDS(
                ctf_integer(u64, start, start)
@@ -1121,25 +1753,25 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
 
 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_alloc,
 
-       TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len),
+       TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
 
-       TP_ARGS(info, start, len)
+       TP_ARGS(fs_info, start, len)
 )
 
 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_free,
 
-       TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len),
+       TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
 
-       TP_ARGS(info, start, len)
+       TP_ARGS(fs_info, start, len)
 )
 
 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
 
 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
 
-       TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len),
+       TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
 
-       TP_ARGS(info, start, len),
+       TP_ARGS(fs_info, start, len),
 
        TP_FIELDS(
                ctf_integer(u64, start, start)
@@ -1149,19 +1781,22 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
 
 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_alloc,
 
-       TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len),
+       TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
 
-       TP_ARGS(info, start, len)
+       TP_ARGS(fs_info, start, len)
 )
 
 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_free,
 
-       TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len),
+       TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
 
-       TP_ARGS(info, start, len)
+       TP_ARGS(fs_info, start, len)
 )
 
-#elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
+#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
 
 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
 
@@ -1221,18 +1856,118 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_f
 
 #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
+LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+       btrfs_find_free_extent,
+
+       TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+                u64 data),
+
+       TP_ARGS(fs_info, num_bytes, empty_size, data),
+
+       TP_FIELDS(
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+               ctf_integer(u64, num_bytes, num_bytes)
+               ctf_integer(u64, empty_size, empty_size)
+               ctf_integer(u64, data, data)
+       )
+)
 
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+
+       TP_PROTO(const struct btrfs_block_group *block_group, u64 start,
+                u64 len),
+
+       TP_ARGS(block_group, start, len),
+
+       TP_FIELDS(
+               ctf_array(u8, fsid, block_group->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+               ctf_integer(u64, bg_objectid, block_group->start)
+               ctf_integer(u64, flags, block_group->flags)
+               ctf_integer(u64, start, start)
+               ctf_integer(u64, len, len)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
+
+       TP_PROTO(const struct btrfs_block_group *block_group, u64 start,
+                u64 len),
+
+       TP_ARGS(block_group, start, len)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
+
+       TP_PROTO(const struct btrfs_block_group *block_group, u64 start,
+                u64 len),
+
+       TP_ARGS(block_group, start, len)
+)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0))
+LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+       btrfs_find_free_extent,
+
+       TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+                u64 data),
+
+       TP_ARGS(fs_info, num_bytes, empty_size, data),
+
+       TP_FIELDS(
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+               ctf_integer(u64, num_bytes, num_bytes)
+               ctf_integer(u64, empty_size, empty_size)
+               ctf_integer(u64, data, data)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+
+       TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start,
+                u64 len),
+
+       TP_ARGS(block_group, start, len),
+
+       TP_FIELDS(
+               ctf_array(u8, fsid, block_group->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+               ctf_integer(u64, bg_objectid, block_group->key.objectid)
+               ctf_integer(u64, flags, block_group->flags)
+               ctf_integer(u64, start, start)
+               ctf_integer(u64, len, len)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
+
+       TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start,
+                u64 len),
+
+       TP_ARGS(block_group, start, len)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
+
+       TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start,
+                u64 len),
+
+       TP_ARGS(block_group, start, len)
+)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
 LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
 
        btrfs_find_free_extent,
 
-       TP_PROTO(const struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size,
+       TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
                 u64 data),
 
-       TP_ARGS(info, num_bytes, empty_size, data),
+       TP_ARGS(fs_info, num_bytes, empty_size, data),
 
        TP_FIELDS(
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
                ctf_integer(u64, num_bytes, num_bytes)
                ctf_integer(u64, empty_size, empty_size)
                ctf_integer(u64, data, data)
@@ -1241,13 +1976,14 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
 
 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
 
-       TP_PROTO(const struct btrfs_fs_info *info,
+       TP_PROTO(const struct btrfs_fs_info *fs_info,
                 const struct btrfs_block_group_cache *block_group, u64 start,
                 u64 len),
 
-       TP_ARGS(info, block_group, start, len),
+       TP_ARGS(fs_info, block_group, start, len),
 
        TP_FIELDS(
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
                ctf_integer(u64, bg_objectid, block_group->key.objectid)
                ctf_integer(u64, flags, block_group->flags)
                ctf_integer(u64, start, start)
@@ -1257,20 +1993,20 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
 
 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
 
-       TP_PROTO(const struct btrfs_fs_info *info,
+       TP_PROTO(const struct btrfs_fs_info *fs_info,
                 const struct btrfs_block_group_cache *block_group, u64 start,
                 u64 len),
 
-       TP_ARGS(info, block_group, start, len)
+       TP_ARGS(fs_info, block_group, start, len)
 )
 
 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
 
-       TP_PROTO(const struct btrfs_fs_info *info,
+       TP_PROTO(const struct btrfs_fs_info *fs_info,
                 const struct btrfs_block_group_cache *block_group, u64 start,
                 u64 len),
 
-       TP_ARGS(info, block_group, start, len)
+       TP_ARGS(fs_info, block_group, start, len)
 )
 
 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
@@ -1279,12 +2015,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
 
        btrfs_find_free_extent,
 
-       TP_PROTO(struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size,
+       TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
                 u64 data),
 
-       TP_ARGS(info, num_bytes, empty_size, data),
+       TP_ARGS(fs_info, num_bytes, empty_size, data),
 
        TP_FIELDS(
+               ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
                ctf_integer(u64, num_bytes, num_bytes)
                ctf_integer(u64, empty_size, empty_size)
                ctf_integer(u64, data, data)
@@ -1293,11 +2030,11 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
 
 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
 
-       TP_PROTO(struct btrfs_fs_info *info,
+       TP_PROTO(struct btrfs_fs_info *fs_info,
                 struct btrfs_block_group_cache *block_group, u64 start,
                 u64 len),
 
-       TP_ARGS(info, block_group, start, len),
+       TP_ARGS(fs_info, block_group, start, len),
 
        TP_FIELDS(
                ctf_integer(u64, bg_objectid, block_group->key.objectid)
@@ -1309,22 +2046,25 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
 
 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
 
-       TP_PROTO(struct btrfs_fs_info *info,
+       TP_PROTO(struct btrfs_fs_info *fs_info,
                 struct btrfs_block_group_cache *block_group, u64 start,
                 u64 len),
 
-       TP_ARGS(info, block_group, start, len)
+       TP_ARGS(fs_info, block_group, start, len)
 )
 
 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
 
-       TP_PROTO(struct btrfs_fs_info *info,
+       TP_PROTO(struct btrfs_fs_info *fs_info,
                 struct btrfs_block_group_cache *block_group, u64 start,
                 u64 len),
 
-       TP_ARGS(info, block_group, start, len)
+       TP_ARGS(fs_info, block_group, start, len)
 )
-#elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
+#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
 
 LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
 
@@ -1434,7 +2174,55 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
 
 #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
+LTTNG_TRACEPOINT_EVENT(btrfs_find_cluster,
+
+       TP_PROTO(const struct btrfs_block_group *block_group, u64 start,
+                u64 bytes, u64 empty_size, u64 min_bytes),
+
+       TP_ARGS(block_group, start, bytes, empty_size, min_bytes),
+
+       TP_FIELDS(
+               ctf_integer(u64, bg_objectid, block_group->start)
+               ctf_integer(u64, flags, block_group->flags)
+               ctf_integer(u64, start, start)
+               ctf_integer(u64, bytes, bytes)
+               ctf_integer(u64, empty_size, empty_size)
+               ctf_integer(u64, min_bytes, min_bytes)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT(btrfs_failed_cluster_setup,
+
+       TP_PROTO(const struct btrfs_block_group *block_group),
+
+       TP_ARGS(block_group),
+
+       TP_FIELDS(
+               ctf_integer(u64, bg_objectid, block_group->start)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT(btrfs_setup_cluster,
+
+       TP_PROTO(const struct btrfs_block_group *block_group,
+                const struct btrfs_free_cluster *cluster, u64 size, int bitmap),
+
+       TP_ARGS(block_group, cluster, size, bitmap),
+
+       TP_FIELDS(
+               ctf_integer(u64, bg_objectid, block_group->start)
+               ctf_integer(u64, flags, block_group->flags)
+               ctf_integer(u64, start, cluster->window_start)
+               ctf_integer(u64, max_size, cluster->max_size)
+               ctf_integer(u64, size, size)
+               ctf_integer(int, bitmap, bitmap)
+       )
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
        LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT(btrfs_find_cluster,
 
@@ -1528,6 +2316,9 @@ LTTNG_TRACEPOINT_EVENT(btrfs_setup_cluster,
 #endif
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
        LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT_MAP(alloc_extent_state,
 
This page took 0.041801 seconds and 4 git commands to generate.