From: Liu Bo <bo.li.liu@oracle.com>
To: jeffm@suse.com
Cc: Btrfs Development List <linux-btrfs@vger.kernel.org>
Subject: Re: [PATCH 2/2] btrfs: prefix fsid to all trace events
Date: Fri, 10 Jun 2016 09:23:44 -0700 [thread overview]
Message-ID: <20160610162344.GA7010@localhost.localdomain> (raw)
In-Reply-To: <1465516081-26045-2-git-send-email-jeffm@suse.com>
On Thu, Jun 09, 2016 at 07:48:01PM -0400, jeffm@suse.com wrote:
> From: Jeff Mahoney <jeffm@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.liu@oracle.com>
Thanks,
-liubo
>
> Signed-off-by: Jeff Mahoney <jeffm@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 majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2016-06-10 16:24 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-09 23:48 [PATCH 1/2] btrfs: plumb fs_info into btrfs_work jeffm
2016-06-09 23:48 ` [PATCH 2/2] btrfs: prefix fsid to all trace events jeffm
2016-06-10 16:23 ` Liu Bo [this message]
2016-06-11 13:41 ` Chris Mason
2016-06-13 15:48 ` David Sterba
2016-06-13 20:19 ` Jeff Mahoney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160610162344.GA7010@localhost.localdomain \
--to=bo.li.liu@oracle.com \
--cc=jeffm@suse.com \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).