btrfs: qgroup: Update trace events to use new separate rsv types
[sfrench/cifs-2.6.git] / include / trace / events / btrfs.h
index c3ac5ec865198e0dfbe5da979dbc32ca2c71bfe0..54b9af822a3a72ddc401bea4cc81fceaacc4cb6a 100644 (file)
@@ -71,6 +71,11 @@ TRACE_DEFINE_ENUM(COMMIT_TRANS);
                 { BTRFS_FILE_EXTENT_REG,       "REG"    },             \
                 { BTRFS_FILE_EXTENT_PREALLOC,  "PREALLOC"})
 
+#define show_qgroup_rsv_type(type)                                     \
+       __print_symbolic(type,                                          \
+               { BTRFS_QGROUP_RSV_DATA,        "DATA"  },              \
+               { BTRFS_QGROUP_RSV_META,        "META"  })
+
 #define BTRFS_GROUP_FLAGS      \
        { BTRFS_BLOCK_GROUP_DATA,       "DATA"},        \
        { BTRFS_BLOCK_GROUP_SYSTEM,     "SYSTEM"},      \
@@ -248,6 +253,41 @@ TRACE_EVENT_CONDITION(btrfs_get_extent,
                  __entry->refs, __entry->compress_type)
 );
 
+TRACE_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_STRUCT__entry(
+               __field(        u64,  e_start           )
+               __field(        u64,  e_len             )
+               __field(        u64,  map_start         )
+               __field(        u64,  map_len           )
+               __field(        u64,  start             )
+               __field(        u64,  len               )
+       ),
+
+       TP_fast_assign(
+               __entry->e_start        = existing->start;
+               __entry->e_len          = existing->len;
+               __entry->map_start      = map->start;
+               __entry->map_len        = map->len;
+               __entry->start          = start;
+               __entry->len            = len;
+       ),
+
+       TP_printk("start=%llu len=%llu "
+                 "existing(start=%llu len=%llu) "
+                 "em(start=%llu len=%llu)",
+                 (unsigned long long)__entry->start,
+                 (unsigned long long)__entry->len,
+                 (unsigned long long)__entry->e_start,
+                 (unsigned long long)__entry->e_len,
+                 (unsigned long long)__entry->map_start,
+                 (unsigned long long)__entry->map_len)
+);
+
 /* file extent item */
 DECLARE_EVENT_CLASS(btrfs__file_extent_item_regular,
 
@@ -1598,24 +1638,26 @@ TRACE_EVENT(qgroup_update_counters,
 TRACE_EVENT(qgroup_update_reserve,
 
        TP_PROTO(struct btrfs_fs_info *fs_info, struct btrfs_qgroup *qgroup,
-                s64 diff),
+                s64 diff, int type),
 
-       TP_ARGS(fs_info, qgroup, diff),
+       TP_ARGS(fs_info, qgroup, diff, type),
 
        TP_STRUCT__entry_btrfs(
                __field(        u64,    qgid                    )
                __field(        u64,    cur_reserved            )
                __field(        s64,    diff                    )
+               __field(        int,    type                    )
        ),
 
        TP_fast_assign_btrfs(fs_info,
                __entry->qgid           = qgroup->qgroupid;
-               __entry->cur_reserved   = qgroup->reserved;
+               __entry->cur_reserved   = qgroup->rsv.values[type];
                __entry->diff           = diff;
        ),
 
-       TP_printk_btrfs("qgid=%llu cur_reserved=%llu diff=%lld",
-               __entry->qgid, __entry->cur_reserved, __entry->diff)
+       TP_printk_btrfs("qgid=%llu type=%s cur_reserved=%llu diff=%lld",
+               __entry->qgid, show_qgroup_rsv_type(__entry->type),
+               __entry->cur_reserved, __entry->diff)
 );
 
 TRACE_EVENT(qgroup_meta_reserve,