On Thu, Jun 09, 2016 at 07:48:01PM -0400, je...@suse.com wrote:
> From: Jeff Mahoney <je...@suse.com>
> 
> When using trace events to debug a problem, it's impossible to determine
> which file system generated a particular event.  This patch adds a
> macro to prefix standard information to the head of a trace event.
> 
> The extent_state alloc/free events are all that's left without an
> fs_info available.

Looks good to me.

Reviewed-by: Liu Bo <bo.li....@oracle.com>

Thanks,

-liubo

> 
> Signed-off-by: Jeff Mahoney <je...@suse.com>
> ---
>  fs/btrfs/delayed-ref.c       |   9 +-
>  fs/btrfs/extent-tree.c       |  10 +-
>  fs/btrfs/qgroup.c            |  19 +--
>  fs/btrfs/qgroup.h            |   9 +-
>  fs/btrfs/super.c             |   2 +-
>  include/trace/events/btrfs.h | 282 
> ++++++++++++++++++++++++-------------------
>  6 files changed, 182 insertions(+), 149 deletions(-)
> 
> diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c
> index 430b368..e7b1ec0 100644
> --- a/fs/btrfs/delayed-ref.c
> +++ b/fs/btrfs/delayed-ref.c
> @@ -606,7 +606,8 @@ add_delayed_ref_head(struct btrfs_fs_info *fs_info,
>               qrecord->num_bytes = num_bytes;
>               qrecord->old_roots = NULL;
>  
> -             qexisting = btrfs_qgroup_insert_dirty_extent(delayed_refs,
> +             qexisting = btrfs_qgroup_insert_dirty_extent(fs_info,
> +                                                          delayed_refs,
>                                                            qrecord);
>               if (qexisting)
>                       kfree(qrecord);
> @@ -615,7 +616,7 @@ add_delayed_ref_head(struct btrfs_fs_info *fs_info,
>       spin_lock_init(&head_ref->lock);
>       mutex_init(&head_ref->mutex);
>  
> -     trace_add_delayed_ref_head(ref, head_ref, action);
> +     trace_add_delayed_ref_head(fs_info, ref, head_ref, action);
>  
>       existing = htree_insert(&delayed_refs->href_root,
>                               &head_ref->href_node);
> @@ -682,7 +683,7 @@ add_delayed_tree_ref(struct btrfs_fs_info *fs_info,
>               ref->type = BTRFS_TREE_BLOCK_REF_KEY;
>       full_ref->level = level;
>  
> -     trace_add_delayed_tree_ref(ref, full_ref, action);
> +     trace_add_delayed_tree_ref(fs_info, ref, full_ref, action);
>  
>       ret = add_delayed_ref_tail_merge(trans, delayed_refs, head_ref, ref);
>  
> @@ -739,7 +740,7 @@ add_delayed_data_ref(struct btrfs_fs_info *fs_info,
>       full_ref->objectid = owner;
>       full_ref->offset = offset;
>  
> -     trace_add_delayed_data_ref(ref, full_ref, action);
> +     trace_add_delayed_data_ref(fs_info, ref, full_ref, action);
>  
>       ret = add_delayed_ref_tail_merge(trans, delayed_refs, head_ref, ref);
>  
> diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
> index 689d25a..ecb68bb 100644
> --- a/fs/btrfs/extent-tree.c
> +++ b/fs/btrfs/extent-tree.c
> @@ -2194,7 +2194,7 @@ static int run_delayed_data_ref(struct 
> btrfs_trans_handle *trans,
>       ins.type = BTRFS_EXTENT_ITEM_KEY;
>  
>       ref = btrfs_delayed_node_to_data_ref(node);
> -     trace_run_delayed_data_ref(node, ref, node->action);
> +     trace_run_delayed_data_ref(root->fs_info, node, ref, node->action);
>  
>       if (node->type == BTRFS_SHARED_DATA_REF_KEY)
>               parent = ref->parent;
> @@ -2349,7 +2349,7 @@ static int run_delayed_tree_ref(struct 
> btrfs_trans_handle *trans,
>                                                SKINNY_METADATA);
>  
>       ref = btrfs_delayed_node_to_tree_ref(node);
> -     trace_run_delayed_tree_ref(node, ref, node->action);
> +     trace_run_delayed_tree_ref(root->fs_info, node, ref, node->action);
>  
>       if (node->type == BTRFS_SHARED_BLOCK_REF_KEY)
>               parent = ref->parent;
> @@ -2413,7 +2413,8 @@ static int run_one_delayed_ref(struct 
> btrfs_trans_handle *trans,
>                */
>               BUG_ON(extent_op);
>               head = btrfs_delayed_node_to_head(node);
> -             trace_run_delayed_ref_head(node, head, node->action);
> +             trace_run_delayed_ref_head(root->fs_info, node, head,
> +                                        node->action);
>  
>               if (insert_reserved) {
>                       btrfs_pin_extent(root, node->bytenr,
> @@ -8316,7 +8317,8 @@ static int record_one_subtree_extent(struct 
> btrfs_trans_handle *trans,
>  
>       delayed_refs = &trans->transaction->delayed_refs;
>       spin_lock(&delayed_refs->lock);
> -     if (btrfs_qgroup_insert_dirty_extent(delayed_refs, qrecord))
> +     if (btrfs_qgroup_insert_dirty_extent(trans->root->fs_info,
> +                                          delayed_refs, qrecord))
>               kfree(qrecord);
>       spin_unlock(&delayed_refs->lock);
>  
> diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
> index 9d4c05b..13e28d8 100644
> --- a/fs/btrfs/qgroup.c
> +++ b/fs/btrfs/qgroup.c
> @@ -1453,9 +1453,10 @@ int btrfs_qgroup_prepare_account_extents(struct 
> btrfs_trans_handle *trans,
>       return ret;
>  }
>  
> -struct btrfs_qgroup_extent_record
> -*btrfs_qgroup_insert_dirty_extent(struct btrfs_delayed_ref_root 
> *delayed_refs,
> -                               struct btrfs_qgroup_extent_record *record)
> +struct btrfs_qgroup_extent_record *
> +btrfs_qgroup_insert_dirty_extent(struct btrfs_fs_info *fs_info,
> +                              struct btrfs_delayed_ref_root *delayed_refs,
> +                              struct btrfs_qgroup_extent_record *record)
>  {
>       struct rb_node **p = &delayed_refs->dirty_extent_root.rb_node;
>       struct rb_node *parent_node = NULL;
> @@ -1463,7 +1464,7 @@ struct btrfs_qgroup_extent_record
>       u64 bytenr = record->bytenr;
>  
>       assert_spin_locked(&delayed_refs->lock);
> -     trace_btrfs_qgroup_insert_dirty_extent(record);
> +     trace_btrfs_qgroup_insert_dirty_extent(fs_info, record);
>  
>       while (*p) {
>               parent_node = *p;
> @@ -1595,8 +1596,8 @@ static int qgroup_update_counters(struct btrfs_fs_info 
> *fs_info,
>               cur_old_count = btrfs_qgroup_get_old_refcnt(qg, seq);
>               cur_new_count = btrfs_qgroup_get_new_refcnt(qg, seq);
>  
> -             trace_qgroup_update_counters(qg->qgroupid, cur_old_count,
> -                                          cur_new_count);
> +             trace_qgroup_update_counters(fs_info, qg->qgroupid,
> +                                          cur_old_count, cur_new_count);
>  
>               /* Rfer update part */
>               if (cur_old_count == 0 && cur_new_count > 0) {
> @@ -1687,8 +1688,8 @@ btrfs_qgroup_account_extent(struct btrfs_trans_handle 
> *trans,
>               goto out_free;
>       BUG_ON(!fs_info->quota_root);
>  
> -     trace_btrfs_qgroup_account_extent(bytenr, num_bytes, nr_old_roots,
> -                                       nr_new_roots);
> +     trace_btrfs_qgroup_account_extent(fs_info, bytenr, num_bytes,
> +                                       nr_old_roots, nr_new_roots);
>  
>       qgroups = ulist_alloc(GFP_NOFS);
>       if (!qgroups) {
> @@ -1759,7 +1760,7 @@ int btrfs_qgroup_account_extents(struct 
> btrfs_trans_handle *trans,
>               record = rb_entry(node, struct btrfs_qgroup_extent_record,
>                                 node);
>  
> -             trace_btrfs_qgroup_account_extents(record);
> +             trace_btrfs_qgroup_account_extents(fs_info, record);
>  
>               if (!ret) {
>                       /*
> diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
> index ecb2c14..710887c 100644
> --- a/fs/btrfs/qgroup.h
> +++ b/fs/btrfs/qgroup.h
> @@ -63,9 +63,10 @@ void btrfs_free_qgroup_config(struct btrfs_fs_info 
> *fs_info);
>  struct btrfs_delayed_extent_op;
>  int btrfs_qgroup_prepare_account_extents(struct btrfs_trans_handle *trans,
>                                        struct btrfs_fs_info *fs_info);
> -struct btrfs_qgroup_extent_record
> -*btrfs_qgroup_insert_dirty_extent(struct btrfs_delayed_ref_root 
> *delayed_refs,
> -                               struct btrfs_qgroup_extent_record *record);
> +struct btrfs_qgroup_extent_record *
> +btrfs_qgroup_insert_dirty_extent(struct btrfs_fs_info *fs_info,
> +                              struct btrfs_delayed_ref_root *delayed_refs,
> +                              struct btrfs_qgroup_extent_record *record);
>  int
>  btrfs_qgroup_account_extent(struct btrfs_trans_handle *trans,
>                           struct btrfs_fs_info *fs_info,
> @@ -88,7 +89,7 @@ static inline void btrfs_qgroup_free_delayed_ref(struct 
> btrfs_fs_info *fs_info,
>                                                u64 ref_root, u64 num_bytes)
>  {
>       btrfs_qgroup_free_refroot(fs_info, ref_root, num_bytes);
> -     trace_btrfs_qgroup_free_delayed_ref(ref_root, num_bytes);
> +     trace_btrfs_qgroup_free_delayed_ref(fs_info, ref_root, num_bytes);
>  }
>  void assert_qgroups_uptodate(struct btrfs_trans_handle *trans);
>  
> diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
> index 4e59a91..977077b 100644
> --- a/fs/btrfs/super.c
> +++ b/fs/btrfs/super.c
> @@ -1149,7 +1149,7 @@ int btrfs_sync_fs(struct super_block *sb, int wait)
>       struct btrfs_fs_info *fs_info = btrfs_sb(sb);
>       struct btrfs_root *root = fs_info->tree_root;
>  
> -     trace_btrfs_sync_fs(wait);
> +     trace_btrfs_sync_fs(fs_info, wait);
>  
>       if (!wait) {
>               filemap_flush(fs_info->btree_inode->i_mapping);
> diff --git a/include/trace/events/btrfs.h b/include/trace/events/btrfs.h
> index e90e82a..eba0c65 100644
> --- a/include/trace/events/btrfs.h
> +++ b/include/trace/events/btrfs.h
> @@ -66,6 +66,21 @@ struct btrfs_qgroup_extent_record;
>       { BTRFS_BLOCK_GROUP_RAID6,      "RAID6"}
>  
>  #define BTRFS_UUID_SIZE 16
> +#define TP_STRUCT__entry_fsid __array(u8, fsid, BTRFS_UUID_SIZE)
> +
> +#define TP_fast_assign_fsid(fs_info)                                 \
> +     memcpy(__entry->fsid, fs_info->fsid, BTRFS_UUID_SIZE)
> +
> +#define TP_STRUCT__entry_btrfs(args...)                                      
> \
> +     TP_STRUCT__entry(                                               \
> +             TP_STRUCT__entry_fsid                                   \
> +             args)
> +#define TP_fast_assign_btrfs(fs_info, args...)                               
> \
> +     TP_fast_assign(                                                 \
> +             TP_fast_assign_fsid(fs_info);                           \
> +             args)
> +#define TP_printk_btrfs(fmt, args...) \
> +     TP_printk("%pU: " fmt, __entry->fsid, args)
>  
>  TRACE_EVENT(btrfs_transaction_commit,
>  
> @@ -73,17 +88,17 @@ TRACE_EVENT(btrfs_transaction_commit,
>  
>       TP_ARGS(root),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,  generation                )
>               __field(        u64,  root_objectid             )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(root->fs_info,
>               __entry->generation     = root->fs_info->generation;
>               __entry->root_objectid  = root->root_key.objectid;
>       ),
>  
> -     TP_printk("root = %llu(%s), gen = %llu",
> +     TP_printk_btrfs("root = %llu(%s), gen = %llu",
>                 show_root_type(__entry->root_objectid),
>                 (unsigned long long)__entry->generation)
>  );
> @@ -94,7 +109,7 @@ DECLARE_EVENT_CLASS(btrfs__inode,
>  
>       TP_ARGS(inode),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        ino_t,  ino                     )
>               __field(        blkcnt_t,  blocks               )
>               __field(        u64,  disk_i_size               )
> @@ -104,7 +119,7 @@ DECLARE_EVENT_CLASS(btrfs__inode,
>               __field(        u64,  root_objectid             )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(btrfs_sb(inode->i_sb),
>               __entry->ino    = inode->i_ino;
>               __entry->blocks = inode->i_blocks;
>               __entry->disk_i_size  = BTRFS_I(inode)->disk_i_size;
> @@ -115,7 +130,7 @@ DECLARE_EVENT_CLASS(btrfs__inode,
>                               BTRFS_I(inode)->root->root_key.objectid;
>       ),
>  
> -     TP_printk("root = %llu(%s), gen = %llu, ino = %lu, blocks = %llu, "
> +     TP_printk_btrfs("root = %llu(%s), gen = %llu, ino = %lu, blocks = %llu, 
> "
>                 "disk_i_size = %llu, last_trans = %llu, logged_trans = %llu",
>                 show_root_type(__entry->root_objectid),
>                 (unsigned long long)__entry->generation,
> @@ -175,7 +190,7 @@ TRACE_EVENT_CONDITION(btrfs_get_extent,
>  
>       TP_CONDITION(map),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,  root_objectid     )
>               __field(        u64,  start             )
>               __field(        u64,  len               )
> @@ -187,7 +202,7 @@ TRACE_EVENT_CONDITION(btrfs_get_extent,
>               __field(        unsigned int,  compress_type    )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(root->fs_info,
>               __entry->root_objectid  = root->root_key.objectid;
>               __entry->start          = map->start;
>               __entry->len            = map->len;
> @@ -199,7 +214,7 @@ TRACE_EVENT_CONDITION(btrfs_get_extent,
>               __entry->compress_type  = map->compress_type;
>       ),
>  
> -     TP_printk("root = %llu(%s), start = %llu, len = %llu, "
> +     TP_printk_btrfs("root = %llu(%s), start = %llu, len = %llu, "
>                 "orig_start = %llu, block_start = %llu(%s), "
>                 "block_len = %llu, flags = %s, refs = %u, "
>                 "compress_type = %u",
> @@ -233,7 +248,7 @@ DECLARE_EVENT_CLASS(btrfs__ordered_extent,
>  
>       TP_ARGS(inode, ordered),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        ino_t,  ino             )
>               __field(        u64,  file_offset       )
>               __field(        u64,  start             )
> @@ -246,7 +261,7 @@ DECLARE_EVENT_CLASS(btrfs__ordered_extent,
>               __field(        u64,  root_objectid     )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(btrfs_sb(inode->i_sb),
>               __entry->ino            = inode->i_ino;
>               __entry->file_offset    = ordered->file_offset;
>               __entry->start          = ordered->start;
> @@ -260,7 +275,7 @@ DECLARE_EVENT_CLASS(btrfs__ordered_extent,
>                               BTRFS_I(inode)->root->root_key.objectid;
>       ),
>  
> -     TP_printk("root = %llu(%s), ino = %llu, file_offset = %llu, "
> +     TP_printk_btrfs("root = %llu(%s), ino = %llu, file_offset = %llu, "
>                 "start = %llu, len = %llu, disk_len = %llu, "
>                 "bytes_left = %llu, flags = %s, compress_type = %d, "
>                 "refs = %d",
> @@ -310,7 +325,7 @@ DECLARE_EVENT_CLASS(btrfs__writepage,
>  
>       TP_ARGS(page, inode, wbc),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        ino_t,  ino                     )
>               __field(        pgoff_t,  index                 )
>               __field(        long,   nr_to_write             )
> @@ -324,7 +339,7 @@ DECLARE_EVENT_CLASS(btrfs__writepage,
>               __field(        u64,    root_objectid           )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(btrfs_sb(inode->i_sb),
>               __entry->ino            = inode->i_ino;
>               __entry->index          = page->index;
>               __entry->nr_to_write    = wbc->nr_to_write;
> @@ -339,7 +354,7 @@ DECLARE_EVENT_CLASS(btrfs__writepage,
>                                BTRFS_I(inode)->root->root_key.objectid;
>       ),
>  
> -     TP_printk("root = %llu(%s), ino = %lu, page_index = %lu, "
> +     TP_printk_btrfs("root = %llu(%s), ino = %lu, page_index = %lu, "
>                 "nr_to_write = %ld, pages_skipped = %ld, range_start = %llu, "
>                 "range_end = %llu, for_kupdate = %d, "
>                 "for_reclaim = %d, range_cyclic = %d, writeback_index = %lu",
> @@ -366,7 +381,7 @@ TRACE_EVENT(btrfs_writepage_end_io_hook,
>  
>       TP_ARGS(page, start, end, uptodate),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        ino_t,   ino            )
>               __field(        pgoff_t, index          )
>               __field(        u64,     start          )
> @@ -375,7 +390,7 @@ TRACE_EVENT(btrfs_writepage_end_io_hook,
>               __field(        u64,    root_objectid   )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(btrfs_sb(page->mapping->host->i_sb),
>               __entry->ino    = page->mapping->host->i_ino;
>               __entry->index  = page->index;
>               __entry->start  = start;
> @@ -385,7 +400,7 @@ TRACE_EVENT(btrfs_writepage_end_io_hook,
>                        BTRFS_I(page->mapping->host)->root->root_key.objectid;
>       ),
>  
> -     TP_printk("root = %llu(%s), ino = %lu, page_index = %lu, start = %llu, "
> +     TP_printk_btrfs("root = %llu(%s), ino = %lu, page_index = %lu, start = 
> %llu, "
>                 "end = %llu, uptodate = %d",
>                 show_root_type(__entry->root_objectid),
>                 (unsigned long)__entry->ino, (unsigned long)__entry->index,
> @@ -399,7 +414,7 @@ TRACE_EVENT(btrfs_sync_file,
>  
>       TP_ARGS(file, datasync),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        ino_t,  ino             )
>               __field(        ino_t,  parent          )
>               __field(        int,    datasync        )
> @@ -410,6 +425,7 @@ TRACE_EVENT(btrfs_sync_file,
>               struct dentry *dentry = file->f_path.dentry;
>               struct inode *inode = d_inode(dentry);
>  
> +             TP_fast_assign_fsid(btrfs_sb(file->f_path.dentry->d_sb));
>               __entry->ino            = inode->i_ino;
>               __entry->parent         = d_inode(dentry->d_parent)->i_ino;
>               __entry->datasync       = datasync;
> @@ -417,7 +433,7 @@ TRACE_EVENT(btrfs_sync_file,
>                                BTRFS_I(inode)->root->root_key.objectid;
>       ),
>  
> -     TP_printk("root = %llu(%s), ino = %ld, parent = %ld, datasync = %d",
> +     TP_printk_btrfs("root = %llu(%s), ino = %ld, parent = %ld, datasync = 
> %d",
>                 show_root_type(__entry->root_objectid),
>                 (unsigned long)__entry->ino, (unsigned long)__entry->parent,
>                 __entry->datasync)
> @@ -425,19 +441,19 @@ TRACE_EVENT(btrfs_sync_file,
>  
>  TRACE_EVENT(btrfs_sync_fs,
>  
> -     TP_PROTO(int wait),
> +     TP_PROTO(struct btrfs_fs_info *fs_info, int wait),
>  
> -     TP_ARGS(wait),
> +     TP_ARGS(fs_info, wait),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        int,  wait              )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(fs_info,
>               __entry->wait   = wait;
>       ),
>  
> -     TP_printk("wait = %d", __entry->wait)
> +     TP_printk_btrfs("wait = %d", __entry->wait)
>  );
>  
>  #define show_ref_action(action)                                              
> \
> @@ -450,13 +466,14 @@ TRACE_EVENT(btrfs_sync_fs,
>  
>  DECLARE_EVENT_CLASS(btrfs_delayed_tree_ref,
>  
> -     TP_PROTO(struct btrfs_delayed_ref_node *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(ref, full_ref, action),
> +     TP_ARGS(fs_info, ref, full_ref, action),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,  bytenr            )
>               __field(        u64,  num_bytes         )
>               __field(        int,  action            ) 
> @@ -467,7 +484,7 @@ DECLARE_EVENT_CLASS(btrfs_delayed_tree_ref,
>               __field(        u64,  seq               )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(fs_info,
>               __entry->bytenr         = ref->bytenr;
>               __entry->num_bytes      = ref->num_bytes;
>               __entry->action         = action;
> @@ -478,7 +495,7 @@ DECLARE_EVENT_CLASS(btrfs_delayed_tree_ref,
>               __entry->seq            = ref->seq;
>       ),
>  
> -     TP_printk("bytenr = %llu, num_bytes = %llu, action = %s, "
> +     TP_printk_btrfs("bytenr = %llu, num_bytes = %llu, action = %s, "
>                 "parent = %llu(%s), ref_root = %llu(%s), level = %d, "
>                 "type = %s, seq = %llu",
>                 (unsigned long long)__entry->bytenr,
> @@ -492,31 +509,34 @@ DECLARE_EVENT_CLASS(btrfs_delayed_tree_ref,
>  
>  DEFINE_EVENT(btrfs_delayed_tree_ref,  add_delayed_tree_ref,
>  
> -     TP_PROTO(struct btrfs_delayed_ref_node *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(ref, full_ref, action)
> +     TP_ARGS(fs_info, ref, full_ref, action)
>  );
>  
>  DEFINE_EVENT(btrfs_delayed_tree_ref,  run_delayed_tree_ref,
>  
> -     TP_PROTO(struct btrfs_delayed_ref_node *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(ref, full_ref, action)
> +     TP_ARGS(fs_info, ref, full_ref, action)
>  );
>  
>  DECLARE_EVENT_CLASS(btrfs_delayed_data_ref,
>  
> -     TP_PROTO(struct btrfs_delayed_ref_node *ref,
> +     TP_PROTO(struct btrfs_fs_info *fs_info,
> +              struct btrfs_delayed_ref_node *ref,
>                struct btrfs_delayed_data_ref *full_ref,
>                int action),
>  
> -     TP_ARGS(ref, full_ref, action),
> +     TP_ARGS(fs_info, ref, full_ref, action),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,  bytenr            )
>               __field(        u64,  num_bytes         )
>               __field(        int,  action            ) 
> @@ -528,7 +548,7 @@ DECLARE_EVENT_CLASS(btrfs_delayed_data_ref,
>               __field(        u64,  seq               )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(fs_info,
>               __entry->bytenr         = ref->bytenr;
>               __entry->num_bytes      = ref->num_bytes;
>               __entry->action         = action;
> @@ -540,7 +560,7 @@ DECLARE_EVENT_CLASS(btrfs_delayed_data_ref,
>               __entry->seq            = ref->seq;
>       ),
>  
> -     TP_printk("bytenr = %llu, num_bytes = %llu, action = %s, "
> +     TP_printk_btrfs("bytenr = %llu, num_bytes = %llu, action = %s, "
>                 "parent = %llu(%s), ref_root = %llu(%s), owner = %llu, "
>                 "offset = %llu, type = %s, seq = %llu",
>                 (unsigned long long)__entry->bytenr,
> @@ -556,45 +576,48 @@ DECLARE_EVENT_CLASS(btrfs_delayed_data_ref,
>  
>  DEFINE_EVENT(btrfs_delayed_data_ref,  add_delayed_data_ref,
>  
> -     TP_PROTO(struct btrfs_delayed_ref_node *ref,
> +     TP_PROTO(struct btrfs_fs_info *fs_info,
> +              struct btrfs_delayed_ref_node *ref,
>                struct btrfs_delayed_data_ref *full_ref,
>                int action),
>  
> -     TP_ARGS(ref, full_ref, action)
> +     TP_ARGS(fs_info, ref, full_ref, action)
>  );
>  
>  DEFINE_EVENT(btrfs_delayed_data_ref,  run_delayed_data_ref,
>  
> -     TP_PROTO(struct btrfs_delayed_ref_node *ref,
> +     TP_PROTO(struct btrfs_fs_info *fs_info,
> +              struct btrfs_delayed_ref_node *ref,
>                struct btrfs_delayed_data_ref *full_ref,
>                int action),
>  
> -     TP_ARGS(ref, full_ref, action)
> +     TP_ARGS(fs_info, ref, full_ref, action)
>  );
>  
>  DECLARE_EVENT_CLASS(btrfs_delayed_ref_head,
>  
> -     TP_PROTO(struct btrfs_delayed_ref_node *ref,
> +     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(ref, head_ref, action),
> +     TP_ARGS(fs_info, ref, head_ref, action),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,  bytenr            )
>               __field(        u64,  num_bytes         )
>               __field(        int,  action            ) 
>               __field(        int,  is_data           )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(fs_info,
>               __entry->bytenr         = ref->bytenr;
>               __entry->num_bytes      = ref->num_bytes;
>               __entry->action         = action;
>               __entry->is_data        = head_ref->is_data;
>       ),
>  
> -     TP_printk("bytenr = %llu, num_bytes = %llu, action = %s, is_data = %d",
> +     TP_printk_btrfs("bytenr = %llu, num_bytes = %llu, action = %s, is_data 
> = %d",
>                 (unsigned long long)__entry->bytenr,
>                 (unsigned long long)__entry->num_bytes,
>                 show_ref_action(__entry->action),
> @@ -603,20 +626,22 @@ DECLARE_EVENT_CLASS(btrfs_delayed_ref_head,
>  
>  DEFINE_EVENT(btrfs_delayed_ref_head,  add_delayed_ref_head,
>  
> -     TP_PROTO(struct btrfs_delayed_ref_node *ref,
> +     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(ref, head_ref, action)
> +     TP_ARGS(fs_info, ref, head_ref, action)
>  );
>  
>  DEFINE_EVENT(btrfs_delayed_ref_head,  run_delayed_ref_head,
>  
> -     TP_PROTO(struct btrfs_delayed_ref_node *ref,
> +     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(ref, head_ref, action)
> +     TP_ARGS(fs_info, ref, head_ref, action)
>  );
>  
>  #define show_chunk_type(type)                                        \
> @@ -638,7 +663,7 @@ DECLARE_EVENT_CLASS(btrfs__chunk,
>  
>       TP_ARGS(root, map, offset, size),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        int,  num_stripes               )
>               __field(        u64,  type                      )
>               __field(        int,  sub_stripes               )
> @@ -647,7 +672,7 @@ DECLARE_EVENT_CLASS(btrfs__chunk,
>               __field(        u64,  root_objectid             )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(root->fs_info,
>               __entry->num_stripes    = map->num_stripes;
>               __entry->type           = map->type;
>               __entry->sub_stripes    = map->sub_stripes;
> @@ -656,7 +681,7 @@ DECLARE_EVENT_CLASS(btrfs__chunk,
>               __entry->root_objectid  = root->root_key.objectid;
>       ),
>  
> -     TP_printk("root = %llu(%s), offset = %llu, size = %llu, "
> +     TP_printk_btrfs("root = %llu(%s), offset = %llu, size = %llu, "
>                 "num_stripes = %d, sub_stripes = %d, type = %s",
>                 show_root_type(__entry->root_objectid),
>                 (unsigned long long)__entry->offset,
> @@ -688,7 +713,7 @@ TRACE_EVENT(btrfs_cow_block,
>  
>       TP_ARGS(root, buf, cow),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,  root_objectid             )
>               __field(        u64,  buf_start                 )
>               __field(        int,  refs                      )
> @@ -697,7 +722,7 @@ TRACE_EVENT(btrfs_cow_block,
>               __field(        int,  cow_level                 )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(root->fs_info,
>               __entry->root_objectid  = root->root_key.objectid;
>               __entry->buf_start      = buf->start;
>               __entry->refs           = atomic_read(&buf->refs);
> @@ -706,7 +731,7 @@ TRACE_EVENT(btrfs_cow_block,
>               __entry->cow_level      = btrfs_header_level(cow);
>       ),
>  
> -     TP_printk("root = %llu(%s), refs = %d, orig_buf = %llu "
> +     TP_printk_btrfs("root = %llu(%s), refs = %d, orig_buf = %llu "
>                 "(orig_level = %d), cow_buf = %llu (cow_level = %d)",
>                 show_root_type(__entry->root_objectid),
>                 __entry->refs,
> @@ -723,25 +748,23 @@ TRACE_EVENT(btrfs_space_reservation,
>  
>       TP_ARGS(fs_info, type, val, bytes, reserve),
>  
> -     TP_STRUCT__entry(
> -             __array(        u8,     fsid,   BTRFS_UUID_SIZE )
> +     TP_STRUCT__entry_btrfs(
>               __string(       type,   type                    )
>               __field(        u64,    val                     )
>               __field(        u64,    bytes                   )
>               __field(        int,    reserve                 )
>       ),
>  
> -     TP_fast_assign(
> -             memcpy(__entry->fsid, fs_info->fsid, BTRFS_UUID_SIZE);
> +     TP_fast_assign_btrfs(fs_info,
>               __assign_str(type, type);
>               __entry->val            = val;
>               __entry->bytes          = bytes;
>               __entry->reserve        = reserve;
>       ),
>  
> -     TP_printk("%pU: %s: %Lu %s %Lu", __entry->fsid, __get_str(type),
> -               __entry->val, __entry->reserve ? "reserve" : "release",
> -               __entry->bytes)
> +     TP_printk_btrfs("%s: %Lu %s %Lu", __get_str(type), __entry->val,
> +                     __entry->reserve ? "reserve" : "release",
> +                     __entry->bytes)
>  );
>  
>  DECLARE_EVENT_CLASS(btrfs__reserved_extent,
> @@ -750,19 +773,19 @@ DECLARE_EVENT_CLASS(btrfs__reserved_extent,
>  
>       TP_ARGS(root, start, len),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,  root_objectid             )
>               __field(        u64,  start                     )
>               __field(        u64,  len                       )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(root->fs_info,
>               __entry->root_objectid  = root->root_key.objectid;
>               __entry->start          = start;
>               __entry->len            = len;
>       ),
>  
> -     TP_printk("root = %llu(%s), start = %llu, len = %llu",
> +     TP_printk_btrfs("root = %llu(%s), start = %llu, len = %llu",
>                 show_root_type(__entry->root_objectid),
>                 (unsigned long long)__entry->start,
>                 (unsigned long long)__entry->len)
> @@ -789,21 +812,21 @@ TRACE_EVENT(find_free_extent,
>  
>       TP_ARGS(root, num_bytes, empty_size, data),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,    root_objectid           )
>               __field(        u64,    num_bytes               )
>               __field(        u64,    empty_size              )
>               __field(        u64,    data                    )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(root->fs_info,
>               __entry->root_objectid  = root->root_key.objectid;
>               __entry->num_bytes      = num_bytes;
>               __entry->empty_size     = empty_size;
>               __entry->data           = data;
>       ),
>  
> -     TP_printk("root = %Lu(%s), len = %Lu, empty_size = %Lu, "
> +     TP_printk_btrfs("root = %Lu(%s), len = %Lu, empty_size = %Lu, "
>                 "flags = %Lu(%s)", show_root_type(__entry->root_objectid),
>                 __entry->num_bytes, __entry->empty_size, __entry->data,
>                 __print_flags((unsigned long)__entry->data, "|",
> @@ -818,7 +841,7 @@ DECLARE_EVENT_CLASS(btrfs__reserve_extent,
>  
>       TP_ARGS(root, block_group, start, len),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,    root_objectid           )
>               __field(        u64,    bg_objectid             )
>               __field(        u64,    flags                   )
> @@ -826,7 +849,7 @@ DECLARE_EVENT_CLASS(btrfs__reserve_extent,
>               __field(        u64,    len                     )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(root->fs_info,
>               __entry->root_objectid  = root->root_key.objectid;
>               __entry->bg_objectid    = block_group->key.objectid;
>               __entry->flags          = block_group->flags;
> @@ -834,7 +857,7 @@ DECLARE_EVENT_CLASS(btrfs__reserve_extent,
>               __entry->len            = len;
>       ),
>  
> -     TP_printk("root = %Lu(%s), block_group = %Lu, flags = %Lu(%s), "
> +     TP_printk_btrfs("root = %Lu(%s), block_group = %Lu, flags = %Lu(%s), "
>                 "start = %Lu, len = %Lu",
>                 show_root_type(__entry->root_objectid), __entry->bg_objectid,
>                 __entry->flags, __print_flags((unsigned long)__entry->flags,
> @@ -867,7 +890,7 @@ TRACE_EVENT(btrfs_find_cluster,
>  
>       TP_ARGS(block_group, start, bytes, empty_size, min_bytes),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,    bg_objectid             )
>               __field(        u64,    flags                   )
>               __field(        u64,    start                   )
> @@ -876,7 +899,7 @@ TRACE_EVENT(btrfs_find_cluster,
>               __field(        u64,    min_bytes               )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(block_group->fs_info,
>               __entry->bg_objectid    = block_group->key.objectid;
>               __entry->flags          = block_group->flags;
>               __entry->start          = start;
> @@ -885,7 +908,7 @@ TRACE_EVENT(btrfs_find_cluster,
>               __entry->min_bytes      = min_bytes;
>       ),
>  
> -     TP_printk("block_group = %Lu, flags = %Lu(%s), start = %Lu, len = %Lu,"
> +     TP_printk_btrfs("block_group = %Lu, flags = %Lu(%s), start = %Lu, len = 
> %Lu,"
>                 " empty_size = %Lu, min_bytes = %Lu", __entry->bg_objectid,
>                 __entry->flags,
>                 __print_flags((unsigned long)__entry->flags, "|",
> @@ -899,15 +922,15 @@ TRACE_EVENT(btrfs_failed_cluster_setup,
>  
>       TP_ARGS(block_group),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,    bg_objectid             )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(block_group->fs_info,
>               __entry->bg_objectid    = block_group->key.objectid;
>       ),
>  
> -     TP_printk("block_group = %Lu", __entry->bg_objectid)
> +     TP_printk_btrfs("block_group = %Lu", __entry->bg_objectid)
>  );
>  
>  TRACE_EVENT(btrfs_setup_cluster,
> @@ -917,7 +940,7 @@ TRACE_EVENT(btrfs_setup_cluster,
>  
>       TP_ARGS(block_group, cluster, size, bitmap),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,    bg_objectid             )
>               __field(        u64,    flags                   )
>               __field(        u64,    start                   )
> @@ -926,7 +949,7 @@ TRACE_EVENT(btrfs_setup_cluster,
>               __field(        int,    bitmap                  )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(block_group->fs_info,
>               __entry->bg_objectid    = block_group->key.objectid;
>               __entry->flags          = block_group->flags;
>               __entry->start          = cluster->window_start;
> @@ -935,7 +958,7 @@ TRACE_EVENT(btrfs_setup_cluster,
>               __entry->bitmap         = bitmap;
>       ),
>  
> -     TP_printk("block_group = %Lu, flags = %Lu(%s), window_start = %Lu, "
> +     TP_printk_btrfs("block_group = %Lu, flags = %Lu(%s), window_start = 
> %Lu, "
>                 "size = %Lu, max_size = %Lu, bitmap = %d",
>                 __entry->bg_objectid,
>                 __entry->flags,
> @@ -993,7 +1016,7 @@ DECLARE_EVENT_CLASS(btrfs__work,
>  
>       TP_ARGS(work),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        void *, work                    )
>               __field(        void *, wq                      )
>               __field(        void *, func                    )
> @@ -1002,7 +1025,7 @@ DECLARE_EVENT_CLASS(btrfs__work,
>               __field(        void *, normal_work             )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(btrfs_work_owner(work),
>               __entry->work           = work;
>               __entry->wq             = work->wq;
>               __entry->func           = work->func;
> @@ -1011,7 +1034,7 @@ DECLARE_EVENT_CLASS(btrfs__work,
>               __entry->normal_work    = &work->normal_work;
>       ),
>  
> -     TP_printk("work=%p (normal_work=%p), wq=%p, func=%pf, ordered_func=%p,"
> +     TP_printk_btrfs("work=%p (normal_work=%p), wq=%p, func=%pf, 
> ordered_func=%p,"
>                 " ordered_free=%p",
>                 __entry->work, __entry->normal_work, __entry->wq,
>                  __entry->func, __entry->ordered_func, __entry->ordered_free)
> @@ -1024,15 +1047,15 @@ DECLARE_EVENT_CLASS(btrfs__work__done,
>  
>       TP_ARGS(work),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        void *, work                    )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(btrfs_work_owner(work),
>               __entry->work           = work;
>       ),
>  
> -     TP_printk("work->%p", __entry->work)
> +     TP_printk_btrfs("work->%p", __entry->work)
>  );
>  
>  DEFINE_EVENT(btrfs__work, btrfs_work_queued,
> @@ -1069,19 +1092,19 @@ DECLARE_EVENT_CLASS(btrfs__workqueue,
>  
>       TP_ARGS(wq, name, high),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        void *, wq                      )
>               __string(       name,   name                    )
>               __field(        int ,   high                    )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(btrfs_workqueue_owner(wq),
>               __entry->wq             = wq;
>               __assign_str(name, name);
>               __entry->high           = high;
>       ),
>  
> -     TP_printk("name=%s%s, wq=%p", __get_str(name),
> +     TP_printk_btrfs("name=%s%s, wq=%p", __get_str(name),
>                 __print_flags(__entry->high, "",
>                               {(WQ_HIGHPRI),  "-high"}),
>                 __entry->wq)
> @@ -1100,15 +1123,15 @@ DECLARE_EVENT_CLASS(btrfs__workqueue_done,
>  
>       TP_ARGS(wq),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        void *, wq                      )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(btrfs_workqueue_owner(wq),
>               __entry->wq             = wq;
>       ),
>  
> -     TP_printk("wq=%p", __entry->wq)
> +     TP_printk_btrfs("wq=%p", __entry->wq)
>  );
>  
>  DEFINE_EVENT(btrfs__workqueue_done, btrfs_workqueue_destroy,
> @@ -1124,19 +1147,19 @@ DECLARE_EVENT_CLASS(btrfs__qgroup_data_map,
>  
>       TP_ARGS(inode, free_reserved),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,            rootid          )
>               __field(        unsigned long,  ino             )
>               __field(        u64,            free_reserved   )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(btrfs_sb(inode->i_sb),
>               __entry->rootid         =       BTRFS_I(inode)->root->objectid;
>               __entry->ino            =       inode->i_ino;
>               __entry->free_reserved  =       free_reserved;
>       ),
>  
> -     TP_printk("rootid=%llu, ino=%lu, free_reserved=%llu",
> +     TP_printk_btrfs("rootid=%llu, ino=%lu, free_reserved=%llu",
>                 __entry->rootid, __entry->ino, __entry->free_reserved)
>  );
>  
> @@ -1165,7 +1188,7 @@ DECLARE_EVENT_CLASS(btrfs__qgroup_rsv_data,
>  
>       TP_ARGS(inode, start, len, reserved, op),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,            rootid          )
>               __field(        unsigned long,  ino             )
>               __field(        u64,            start           )
> @@ -1174,7 +1197,7 @@ DECLARE_EVENT_CLASS(btrfs__qgroup_rsv_data,
>               __field(        int,            op              )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(btrfs_sb(inode->i_sb),
>               __entry->rootid         = BTRFS_I(inode)->root->objectid;
>               __entry->ino            = inode->i_ino;
>               __entry->start          = start;
> @@ -1183,7 +1206,7 @@ DECLARE_EVENT_CLASS(btrfs__qgroup_rsv_data,
>               __entry->op             = op;
>       ),
>  
> -     TP_printk("root=%llu, ino=%lu, start=%llu, len=%llu, reserved=%llu, 
> op=%s",
> +     TP_printk_btrfs("root=%llu, ino=%lu, start=%llu, len=%llu, 
> reserved=%llu, op=%s",
>                 __entry->rootid, __entry->ino, __entry->start, __entry->len,
>                 __entry->reserved,
>                 __print_flags((unsigned long)__entry->op, "",
> @@ -1207,86 +1230,90 @@ DEFINE_EVENT(btrfs__qgroup_rsv_data, 
> btrfs_qgroup_release_data,
>  
>  DECLARE_EVENT_CLASS(btrfs__qgroup_delayed_ref,
>  
> -     TP_PROTO(u64 ref_root, u64 reserved),
> +     TP_PROTO(struct btrfs_fs_info *fs_info, u64 ref_root, u64 reserved),
>  
> -     TP_ARGS(ref_root, reserved),
> +     TP_ARGS(fs_info, ref_root, reserved),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,            ref_root        )
>               __field(        u64,            reserved        )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(fs_info,
>               __entry->ref_root       = ref_root;
>               __entry->reserved       = reserved;
>       ),
>  
> -     TP_printk("root=%llu, reserved=%llu, op=free",
> +     TP_printk_btrfs("root=%llu, reserved=%llu, op=free",
>                 __entry->ref_root, __entry->reserved)
>  );
>  
>  DEFINE_EVENT(btrfs__qgroup_delayed_ref, btrfs_qgroup_free_delayed_ref,
>  
> -     TP_PROTO(u64 ref_root, u64 reserved),
> +     TP_PROTO(struct btrfs_fs_info *fs_info, u64 ref_root, u64 reserved),
>  
> -     TP_ARGS(ref_root, reserved)
> +     TP_ARGS(fs_info, ref_root, reserved)
>  );
>  
>  DECLARE_EVENT_CLASS(btrfs_qgroup_extent,
> -     TP_PROTO(struct btrfs_qgroup_extent_record *rec),
> +     TP_PROTO(struct btrfs_fs_info *fs_info,
> +              struct btrfs_qgroup_extent_record *rec),
>  
> -     TP_ARGS(rec),
> +     TP_ARGS(fs_info, rec),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,  bytenr            )
>               __field(        u64,  num_bytes         )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(fs_info,
>               __entry->bytenr         = rec->bytenr,
>               __entry->num_bytes      = rec->num_bytes;
>       ),
>  
> -     TP_printk("bytenr = %llu, num_bytes = %llu",
> +     TP_printk_btrfs("bytenr = %llu, num_bytes = %llu",
>                 (unsigned long long)__entry->bytenr,
>                 (unsigned long long)__entry->num_bytes)
>  );
>  
>  DEFINE_EVENT(btrfs_qgroup_extent, btrfs_qgroup_account_extents,
>  
> -     TP_PROTO(struct btrfs_qgroup_extent_record *rec),
> +     TP_PROTO(struct btrfs_fs_info *fs_info,
> +              struct btrfs_qgroup_extent_record *rec),
>  
> -     TP_ARGS(rec)
> +     TP_ARGS(fs_info, rec)
>  );
>  
>  DEFINE_EVENT(btrfs_qgroup_extent, btrfs_qgroup_insert_dirty_extent,
>  
> -     TP_PROTO(struct btrfs_qgroup_extent_record *rec),
> +     TP_PROTO(struct btrfs_fs_info *fs_info,
> +              struct btrfs_qgroup_extent_record *rec),
>  
> -     TP_ARGS(rec)
> +     TP_ARGS(fs_info, rec)
>  );
>  
>  TRACE_EVENT(btrfs_qgroup_account_extent,
>  
> -     TP_PROTO(u64 bytenr, u64 num_bytes, u64 nr_old_roots, u64 nr_new_roots),
> +     TP_PROTO(struct btrfs_fs_info *fs_info, u64 bytenr,
> +              u64 num_bytes, u64 nr_old_roots, u64 nr_new_roots),
>  
> -     TP_ARGS(bytenr, num_bytes, nr_old_roots, nr_new_roots),
> +     TP_ARGS(fs_info, bytenr, num_bytes, nr_old_roots, nr_new_roots),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,  bytenr                    )
>               __field(        u64,  num_bytes                 )
>               __field(        u64,  nr_old_roots              )
>               __field(        u64,  nr_new_roots              )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(fs_info,
>               __entry->bytenr         = bytenr;
>               __entry->num_bytes      = num_bytes;
>               __entry->nr_old_roots   = nr_old_roots;
>               __entry->nr_new_roots   = nr_new_roots;
>       ),
>  
> -     TP_printk("bytenr = %llu, num_bytes = %llu, nr_old_roots = %llu, "
> +     TP_printk_btrfs("bytenr = %llu, num_bytes = %llu, nr_old_roots = %llu, "
>                 "nr_new_roots = %llu",
>                 __entry->bytenr,
>                 __entry->num_bytes,
> @@ -1296,23 +1323,24 @@ TRACE_EVENT(btrfs_qgroup_account_extent,
>  
>  TRACE_EVENT(qgroup_update_counters,
>  
> -     TP_PROTO(u64 qgid, u64 cur_old_count, u64 cur_new_count),
> +     TP_PROTO(struct btrfs_fs_info *fs_info, u64 qgid,
> +              u64 cur_old_count, u64 cur_new_count),
>  
> -     TP_ARGS(qgid, cur_old_count, cur_new_count),
> +     TP_ARGS(fs_info, qgid, cur_old_count, cur_new_count),
>  
> -     TP_STRUCT__entry(
> +     TP_STRUCT__entry_btrfs(
>               __field(        u64,  qgid                      )
>               __field(        u64,  cur_old_count             )
>               __field(        u64,  cur_new_count             )
>       ),
>  
> -     TP_fast_assign(
> +     TP_fast_assign_btrfs(fs_info,
>               __entry->qgid           = qgid;
>               __entry->cur_old_count  = cur_old_count;
>               __entry->cur_new_count  = cur_new_count;
>       ),
>  
> -     TP_printk("qgid = %llu, cur_old_count = %llu, cur_new_count = %llu",
> +     TP_printk_btrfs("qgid = %llu, cur_old_count = %llu, cur_new_count = 
> %llu",
>                 __entry->qgid,
>                 __entry->cur_old_count,
>                 __entry->cur_new_count)
> -- 
> 2.7.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to