* [PATCH] Btrfs: add 'inode' for extent map tracepoint
@ 2016-12-01 21:44 Liu Bo
2016-12-12 13:08 ` David Sterba
2016-12-13 23:57 ` [PATCH v2] " Liu Bo
0 siblings, 2 replies; 3+ messages in thread
From: Liu Bo @ 2016-12-01 21:44 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
'inode' is an important field for btrfs_get_extent, lets trace it.
Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
---
fs/btrfs/inode.c | 2 +-
include/trace/events/btrfs.h | 13 ++++++++-----
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 603dd492..79f35b6 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -7095,7 +7095,7 @@ struct extent_map *btrfs_get_extent(struct inode *inode, struct page *page,
write_unlock(&em_tree->lock);
out:
- trace_btrfs_get_extent(root, em);
+ trace_btrfs_get_extent(root, inode, em);
btrfs_free_path(path);
if (trans) {
diff --git a/include/trace/events/btrfs.h b/include/trace/events/btrfs.h
index e030d6f..0e04208 100644
--- a/include/trace/events/btrfs.h
+++ b/include/trace/events/btrfs.h
@@ -184,14 +184,16 @@ DEFINE_EVENT(btrfs__inode, btrfs_inode_evict,
TRACE_EVENT_CONDITION(btrfs_get_extent,
- TP_PROTO(struct btrfs_root *root, struct extent_map *map),
+ TP_PROTO(struct btrfs_root *root, struct inode *inode,
+ struct extent_map *map),
- TP_ARGS(root, map),
+ TP_ARGS(root, inode, map),
TP_CONDITION(map),
TP_STRUCT__entry_btrfs(
__field( u64, root_objectid )
+ __field( u64, ino )
__field( u64, start )
__field( u64, len )
__field( u64, orig_start )
@@ -204,7 +206,8 @@ TRACE_EVENT_CONDITION(btrfs_get_extent,
TP_fast_assign_btrfs(root->fs_info,
__entry->root_objectid = root->root_key.objectid;
- __entry->start = map->start;
+ __entry->ino = btrfs_ino(inode);
+ __entry->start = map->start;
__entry->len = map->len;
__entry->orig_start = map->orig_start;
__entry->block_start = map->block_start;
@@ -214,12 +217,12 @@ TRACE_EVENT_CONDITION(btrfs_get_extent,
__entry->compress_type = map->compress_type;
),
- TP_printk_btrfs("root = %llu(%s), start = %llu, len = %llu, "
+ TP_printk_btrfs("root = %llu(%s), ino = %llu start = %llu, len = %llu, "
"orig_start = %llu, block_start = %llu(%s), "
"block_len = %llu, flags = %s, refs = %u, "
"compress_type = %u",
show_root_type(__entry->root_objectid),
- (unsigned long long)__entry->start,
+ __entry->ino, (unsigned long long)__entry->start,
(unsigned long long)__entry->len,
(unsigned long long)__entry->orig_start,
show_map_type(__entry->block_start),
--
2.5.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] Btrfs: add 'inode' for extent map tracepoint
2016-12-01 21:44 [PATCH] Btrfs: add 'inode' for extent map tracepoint Liu Bo
@ 2016-12-12 13:08 ` David Sterba
2016-12-13 23:57 ` [PATCH v2] " Liu Bo
1 sibling, 0 replies; 3+ messages in thread
From: David Sterba @ 2016-12-12 13:08 UTC (permalink / raw)
To: Liu Bo; +Cc: linux-btrfs, David Sterba
On Thu, Dec 01, 2016 at 01:44:01PM -0800, Liu Bo wrote:
> TP_STRUCT__entry_btrfs(
> __field( u64, root_objectid )
> + __field( u64, ino )
> __field( u64, start )
> __field( u64, len )
> __field( u64, orig_start )
> @@ -204,7 +206,8 @@ TRACE_EVENT_CONDITION(btrfs_get_extent,
>
> TP_fast_assign_btrfs(root->fs_info,
> __entry->root_objectid = root->root_key.objectid;
> - __entry->start = map->start;
> + __entry->ino = btrfs_ino(inode);
> + __entry->start = map->start;
> __entry->len = map->len;
> __entry->orig_start = map->orig_start;
> __entry->block_start = map->block_start;
> @@ -214,12 +217,12 @@ TRACE_EVENT_CONDITION(btrfs_get_extent,
> __entry->compress_type = map->compress_type;
> ),
>
> - TP_printk_btrfs("root = %llu(%s), start = %llu, len = %llu, "
> + TP_printk_btrfs("root = %llu(%s), ino = %llu start = %llu, len = %llu, "
> "orig_start = %llu, block_start = %llu(%s), "
> "block_len = %llu, flags = %s, refs = %u, "
> "compress_type = %u",
> show_root_type(__entry->root_objectid),
> - (unsigned long long)__entry->start,
> + __entry->ino, (unsigned long long)__entry->start,
I think the (unsigned long long) cast should be used here as well, at
least for consistency with the other u64.
> (unsigned long long)__entry->len,
> (unsigned long long)__entry->orig_start,
> show_map_type(__entry->block_start),
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v2] Btrfs: add 'inode' for extent map tracepoint
2016-12-01 21:44 [PATCH] Btrfs: add 'inode' for extent map tracepoint Liu Bo
2016-12-12 13:08 ` David Sterba
@ 2016-12-13 23:57 ` Liu Bo
1 sibling, 0 replies; 3+ messages in thread
From: Liu Bo @ 2016-12-13 23:57 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
'inode' is an important field for btrfs_get_extent, lets trace it.
Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
---
v2: add 'unsigned long long' for consistence.
fs/btrfs/inode.c | 2 +-
include/trace/events/btrfs.h | 12 ++++++++----
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 8e3a5a2..1cdd23c 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -7081,7 +7081,7 @@ struct extent_map *btrfs_get_extent(struct inode *inode, struct page *page,
write_unlock(&em_tree->lock);
out:
- trace_btrfs_get_extent(root, em);
+ trace_btrfs_get_extent(root, inode, em);
btrfs_free_path(path);
if (trans) {
diff --git a/include/trace/events/btrfs.h b/include/trace/events/btrfs.h
index e030d6f..ef80740 100644
--- a/include/trace/events/btrfs.h
+++ b/include/trace/events/btrfs.h
@@ -184,14 +184,16 @@ DEFINE_EVENT(btrfs__inode, btrfs_inode_evict,
TRACE_EVENT_CONDITION(btrfs_get_extent,
- TP_PROTO(struct btrfs_root *root, struct extent_map *map),
+ TP_PROTO(struct btrfs_root *root, struct inode *inode,
+ struct extent_map *map),
- TP_ARGS(root, map),
+ TP_ARGS(root, inode, map),
TP_CONDITION(map),
TP_STRUCT__entry_btrfs(
__field( u64, root_objectid )
+ __field( u64, ino )
__field( u64, start )
__field( u64, len )
__field( u64, orig_start )
@@ -204,7 +206,8 @@ TRACE_EVENT_CONDITION(btrfs_get_extent,
TP_fast_assign_btrfs(root->fs_info,
__entry->root_objectid = root->root_key.objectid;
- __entry->start = map->start;
+ __entry->ino = btrfs_ino(inode);
+ __entry->start = map->start;
__entry->len = map->len;
__entry->orig_start = map->orig_start;
__entry->block_start = map->block_start;
@@ -214,11 +217,12 @@ TRACE_EVENT_CONDITION(btrfs_get_extent,
__entry->compress_type = map->compress_type;
),
- TP_printk_btrfs("root = %llu(%s), start = %llu, len = %llu, "
+ TP_printk_btrfs("root = %llu(%s), ino = %llu start = %llu, len = %llu, "
"orig_start = %llu, block_start = %llu(%s), "
"block_len = %llu, flags = %s, refs = %u, "
"compress_type = %u",
show_root_type(__entry->root_objectid),
+ (unsigned long long)__entry->ino,
(unsigned long long)__entry->start,
(unsigned long long)__entry->len,
(unsigned long long)__entry->orig_start,
--
2.5.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-12-13 23:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-01 21:44 [PATCH] Btrfs: add 'inode' for extent map tracepoint Liu Bo
2016-12-12 13:08 ` David Sterba
2016-12-13 23:57 ` [PATCH v2] " Liu Bo
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).