Commit 1cb1f0b2 authored by Nikolay Borisov's avatar Nikolay Borisov Committed by David Sterba
Browse files

btrfs: tracepoints: fix qgroup reservation type printing



Since qgroup's reservation types are define in a macro they must be
exported to user space in order for user space tools to convert raw
binary data to symbolic names. Currently trace-cmd report produces
the following output:

kworker/u8:2-459   [003]  1208.543587: qgroup_update_reserve:
2b742cae-e0e5-4def-9ef7-28a9b34a951e: qgid=5 type=0x2 cur_reserved=54870016 diff=-32768

With this fix the output is:

kworker/u8:2-459   [003]  1208.543587: qgroup_update_reserve:
2b742cae-e0e5-4def-9ef7-28a9b34a951e: qgid=5 type=BTRFS_QGROUP_RSV_META_PREALLOC cur_reserved=54870016 diff=-32768

Signed-off-by: default avatarNikolay Borisov <nborisov@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 5bca2c95
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -78,6 +78,11 @@ TRACE_DEFINE_ENUM(COMMIT_TRANS);
	EM( BTRFS_FILE_EXTENT_REG,		"REG")			\
	EMe(BTRFS_FILE_EXTENT_PREALLOC,		"PREALLOC")

#define QGROUP_RSV_TYPES						\
	EM( BTRFS_QGROUP_RSV_DATA,		"DATA")			\
	EM( BTRFS_QGROUP_RSV_META_PERTRANS,	"META_PERTRANS")	\
	EMe(BTRFS_QGROUP_RSV_META_PREALLOC,	"META_PREALLOC")

/*
 * First define the enums in the above macros to be exported to userspace via
 * TRACE_DEFINE_ENUM().
@@ -90,6 +95,7 @@ TRACE_DEFINE_ENUM(COMMIT_TRANS);

FLUSH_ACTIONS
FI_TYPES
QGROUP_RSV_TYPES

/*
 * Now redefine the EM and EMe macros to map the enums to the strings that will
@@ -101,12 +107,6 @@ FI_TYPES
#define EM(a, b)        {a, b},
#define EMe(a, b)       {a, b}

#define show_qgroup_rsv_type(type)					\
	__print_symbolic(type,						\
		{ BTRFS_QGROUP_RSV_DATA,	  "DATA"	},	\
		{ BTRFS_QGROUP_RSV_META_PERTRANS, "META_PERTRANS" },	\
		{ BTRFS_QGROUP_RSV_META_PREALLOC, "META_PREALLOC" })

#define show_extent_io_tree_owner(owner)				       \
	__print_symbolic(owner,						       \
		{ IO_TREE_FS_PINNED_EXTENTS, 	  "PINNED_EXTENTS" },	       \
@@ -1712,7 +1712,7 @@ TRACE_EVENT(qgroup_update_reserve,
	),

	TP_printk_btrfs("qgid=%llu type=%s cur_reserved=%llu diff=%lld",
		__entry->qgid, show_qgroup_rsv_type(__entry->type),
		__entry->qgid, __print_symbolic(__entry->type, QGROUP_RSV_TYPES),
		__entry->cur_reserved, __entry->diff)
);

@@ -1736,7 +1736,7 @@ TRACE_EVENT(qgroup_meta_reserve,

	TP_printk_btrfs("refroot=%llu(%s) type=%s diff=%lld",
		show_root_type(__entry->refroot),
		show_qgroup_rsv_type(__entry->type), __entry->diff)
		__print_symbolic(__entry->type, QGROUP_RSV_TYPES), __entry->diff)
);

TRACE_EVENT(qgroup_meta_convert,
@@ -1757,8 +1757,8 @@ TRACE_EVENT(qgroup_meta_convert,

	TP_printk_btrfs("refroot=%llu(%s) type=%s->%s diff=%lld",
		show_root_type(__entry->refroot),
		show_qgroup_rsv_type(BTRFS_QGROUP_RSV_META_PREALLOC),
		show_qgroup_rsv_type(BTRFS_QGROUP_RSV_META_PERTRANS),
		__print_symbolic(BTRFS_QGROUP_RSV_META_PREALLOC, QGROUP_RSV_TYPES),
		__print_symbolic(BTRFS_QGROUP_RSV_META_PERTRANS, QGROUP_RSV_TYPES),
		__entry->diff)
);

@@ -1784,7 +1784,7 @@ TRACE_EVENT(qgroup_meta_free_all_pertrans,

	TP_printk_btrfs("refroot=%llu(%s) type=%s diff=%lld",
		show_root_type(__entry->refroot),
		show_qgroup_rsv_type(__entry->type), __entry->diff)
		__print_symbolic(__entry->type, QGROUP_RSV_TYPES), __entry->diff)
);

DECLARE_EVENT_CLASS(btrfs__prelim_ref,