summaryrefslogtreecommitdiff
path: root/include/trace/events/bcache.h
diff options
context:
space:
mode:
authorKent Overstreet <koverstreet@google.com>2013-05-15 07:33:16 +0400
committerKent Overstreet <koverstreet@google.com>2013-06-27 04:09:15 +0400
commit85b1492ee113486d871de7676a61f506a43ca475 (patch)
treeaac166ad206a99d2e3c573f7f1792bc765a2cdd4 /include/trace/events/bcache.h
parentc37511b863f36c1cc6e18440717fd4cc0e881b8a (diff)
downloadlinux-85b1492ee113486d871de7676a61f506a43ca475.tar.xz
bcache: Rip out pkey()/pbtree()
Old gcc doesnt like the struct hack, and it is kind of ugly. So finish off the work to convert pr_debug() statements to tracepoints, and delete pkey()/pbtree(). Signed-off-by: Kent Overstreet <koverstreet@google.com>
Diffstat (limited to 'include/trace/events/bcache.h')
-rw-r--r--include/trace/events/bcache.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/include/trace/events/bcache.h b/include/trace/events/bcache.h
index c9952b36fcea..5ebda976ea93 100644
--- a/include/trace/events/bcache.h
+++ b/include/trace/events/bcache.h
@@ -305,6 +305,39 @@ DEFINE_EVENT(bkey, bcache_gc_copy_collision,
TP_ARGS(k)
);
+TRACE_EVENT(bcache_btree_insert_key,
+ TP_PROTO(struct btree *b, struct bkey *k, unsigned op, unsigned status),
+ TP_ARGS(b, k, op, status),
+
+ TP_STRUCT__entry(
+ __field(u64, btree_node )
+ __field(u32, btree_level )
+ __field(u32, inode )
+ __field(u64, offset )
+ __field(u32, size )
+ __field(u8, dirty )
+ __field(u8, op )
+ __field(u8, status )
+ ),
+
+ TP_fast_assign(
+ __entry->btree_node = PTR_BUCKET_NR(b->c, &b->key, 0);
+ __entry->btree_level = b->level;
+ __entry->inode = KEY_INODE(k);
+ __entry->offset = KEY_OFFSET(k);
+ __entry->size = KEY_SIZE(k);
+ __entry->dirty = KEY_DIRTY(k);
+ __entry->op = op;
+ __entry->status = status;
+ ),
+
+ TP_printk("%u for %u at %llu(%u): %u:%llu len %u dirty %u",
+ __entry->status, __entry->op,
+ __entry->btree_node, __entry->btree_level,
+ __entry->inode, __entry->offset,
+ __entry->size, __entry->dirty)
+);
+
DECLARE_EVENT_CLASS(btree_split,
TP_PROTO(struct btree *b, unsigned keys),
TP_ARGS(b, keys),