diff --git a/kmod/src/dir.c b/kmod/src/dir.c index 269b2b84..14d8d044 100644 --- a/kmod/src/dir.c +++ b/kmod/src/dir.c @@ -30,6 +30,7 @@ #include "kvec.h" #include "item.h" #include "lock.h" +#include "scoutfs_trace.h" /* * Directory entries are stored in entries with offsets calculated from @@ -1073,8 +1074,7 @@ static int add_next_linkref(struct super_block *sb, u64 ino, /* next backref key is now in ent */ ret = scoutfs_item_next(sb, &key, &last, NULL, NULL); - trace_printk("ino %llu dir_ino %llu ret %d key_len %u\n", - ino, dir_ino, ret, key.key_len); + trace_scoutfs_dir_add_next_linkref(sb, ino, dir_ino, ret, key.key_len); if (ret < 0) goto out; diff --git a/kmod/src/scoutfs_trace.h b/kmod/src/scoutfs_trace.h index 0148f332..628d3859 100644 --- a/kmod/src/scoutfs_trace.h +++ b/kmod/src/scoutfs_trace.h @@ -36,6 +36,33 @@ #define FSID_ARG(sb) le64_to_cpu(SCOUTFS_SB(sb)->super.hdr.fsid) #define FSID_FMT "%llx" +TRACE_EVENT(scoutfs_dir_add_next_linkref, + TP_PROTO(struct super_block *sb, __u64 ino, __u64 dir_ino, int ret, + unsigned int key_len), + + TP_ARGS(sb, ino, dir_ino, ret, key_len), + + TP_STRUCT__entry( + __field(__u64, fsid) + __field(__u64, ino) + __field(__u64, dir_ino) + __field(int, ret) + __field(unsigned int, key_len) + ), + + TP_fast_assign( + __entry->fsid = FSID_ARG(sb); + __entry->ino = ino; + __entry->dir_ino = dir_ino; + __entry->ret = ret; + __entry->key_len = key_len; + ), + + TP_printk(FSID_FMT" ino %llu dir_ino %llu ret %d key_len %u", + __entry->fsid, __entry->ino, __entry->dir_ino, __entry->ret, + __entry->key_len) +); + TRACE_EVENT(scoutfs_compact_func, TP_PROTO(struct super_block *sb, int ret),