diff options
-rw-r--r-- | fs/btrfs/extent_map.c | 3 | ||||
-rw-r--r-- | include/trace/events/btrfs.h | 35 |
2 files changed, 38 insertions, 0 deletions
diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c index c80dea7c69af..b8ead8dc2ebe 100644 --- a/fs/btrfs/extent_map.c +++ b/fs/btrfs/extent_map.c | |||
@@ -551,6 +551,9 @@ int btrfs_add_extent_mapping(struct extent_map_tree *em_tree, | |||
551 | ret = 0; | 551 | ret = 0; |
552 | 552 | ||
553 | existing = search_extent_mapping(em_tree, start, len); | 553 | existing = search_extent_mapping(em_tree, start, len); |
554 | |||
555 | trace_btrfs_handle_em_exist(existing, em, start, len); | ||
556 | |||
554 | /* | 557 | /* |
555 | * existing will always be non-NULL, since there must be | 558 | * existing will always be non-NULL, since there must be |
556 | * extent causing the -EEXIST. | 559 | * extent causing the -EEXIST. |
diff --git a/include/trace/events/btrfs.h b/include/trace/events/btrfs.h index c3ac5ec86519..486771e3f4cb 100644 --- a/include/trace/events/btrfs.h +++ b/include/trace/events/btrfs.h | |||
@@ -248,6 +248,41 @@ TRACE_EVENT_CONDITION(btrfs_get_extent, | |||
248 | __entry->refs, __entry->compress_type) | 248 | __entry->refs, __entry->compress_type) |
249 | ); | 249 | ); |
250 | 250 | ||
251 | TRACE_EVENT(btrfs_handle_em_exist, | ||
252 | |||
253 | TP_PROTO(const struct extent_map *existing, const struct extent_map *map, u64 start, u64 len), | ||
254 | |||
255 | TP_ARGS(existing, map, start, len), | ||
256 | |||
257 | TP_STRUCT__entry( | ||
258 | __field( u64, e_start ) | ||
259 | __field( u64, e_len ) | ||
260 | __field( u64, map_start ) | ||
261 | __field( u64, map_len ) | ||
262 | __field( u64, start ) | ||
263 | __field( u64, len ) | ||
264 | ), | ||
265 | |||
266 | TP_fast_assign( | ||
267 | __entry->e_start = existing->start; | ||
268 | __entry->e_len = existing->len; | ||
269 | __entry->map_start = map->start; | ||
270 | __entry->map_len = map->len; | ||
271 | __entry->start = start; | ||
272 | __entry->len = len; | ||
273 | ), | ||
274 | |||
275 | TP_printk("start=%llu len=%llu " | ||
276 | "existing(start=%llu len=%llu) " | ||
277 | "em(start=%llu len=%llu)", | ||
278 | (unsigned long long)__entry->start, | ||
279 | (unsigned long long)__entry->len, | ||
280 | (unsigned long long)__entry->e_start, | ||
281 | (unsigned long long)__entry->e_len, | ||
282 | (unsigned long long)__entry->map_start, | ||
283 | (unsigned long long)__entry->map_len) | ||
284 | ); | ||
285 | |||
251 | /* file extent item */ | 286 | /* file extent item */ |
252 | DECLARE_EVENT_CLASS(btrfs__file_extent_item_regular, | 287 | DECLARE_EVENT_CLASS(btrfs__file_extent_item_regular, |
253 | 288 | ||