File add-btrfs-tracepoint-for-em-s-eexist-case.patch of Package lttng-modules.18435
Author: Michael Jeanson <mjeanson@efficios.com>
Date: Thu Jun 7 15:48:30 2018 -0400
Subject: Add btrfs tracepoint for em's EEXIST case
Git-commit: 619cabe7f5f7a776eff86da1e033e9311c3ad466
Signed-off-by: Tony Jones <tonyj@suse.de>
Add btrfs tracepoint for em's EEXIST case
See upstream commits:
commit 393da91819e35af538ef97c7c6a04899e2fbfe0e
Author: Liu Bo <bo.li.liu@oracle.com>
Date: Fri Jan 5 12:51:16 2018 -0700
Btrfs: add tracepoint for em's EEXIST case
This is adding a tracepoint 'btrfs_handle_em_exist' to help debug the
subtle bugs around merge_extent_mapping.
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h
index a3aa606..9f941ba 100644
--- a/instrumentation/events/lttng-module/btrfs.h
+++ b/instrumentation/events/lttng-module/btrfs.h
@@ -289,6 +289,24 @@ LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
+#if (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(4,14,0))
LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,