From: Baolin Liu <[email protected]> Add an ntfs3 tracepoint for inode creation.
This adds a trace event for ntfs_create_inode() to help observe inode creation activity. Signed-off-by: Baolin Liu <[email protected]> --- fs/ntfs3/inode.c | 3 +++ include/trace/events/ntfs3.h | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c index c43101cc064d..2bc4ce2ee8d8 100644 --- a/fs/ntfs3/inode.c +++ b/fs/ntfs3/inode.c @@ -17,6 +17,7 @@ #include "debug.h" #include "ntfs.h" #include "ntfs_fs.h" +#include <trace/events/ntfs3.h> /* * ntfs_read_mft - Read record and parse MFT. @@ -1206,6 +1207,8 @@ int ntfs_create_inode(struct mnt_idmap *idmap, struct inode *dir, /* New file will be resident or non resident. */ const bool new_file_resident = 1; + trace_ntfs3_create_inode(dir, dentry); + if (!fnd) ni_lock_dir(dir_ni); diff --git a/include/trace/events/ntfs3.h b/include/trace/events/ntfs3.h index ba27531d889e..cc9f4fee9ff8 100644 --- a/include/trace/events/ntfs3.h +++ b/include/trace/events/ntfs3.h @@ -127,6 +127,27 @@ TRACE_EVENT(ntfs3_rename, __get_str(old_name), __get_str(new_name)) ); +TRACE_EVENT(ntfs3_create_inode, + TP_PROTO(struct inode *dir, struct dentry *dentry), + TP_ARGS(dir, dentry), + TP_STRUCT__entry( + __field(dev_t, dev) + __field(unsigned long, parent_ino) + __string(name, dentry->d_name.name) + __field(unsigned int, name_len) + ), + TP_fast_assign( + __entry->dev = dir->i_sb->s_dev; + __entry->parent_ino = dir->i_ino; + __assign_str(name); + __entry->name_len = dentry->d_name.len; + ), + TP_printk("dev=(%d,%d) parent=%lu name=%s len=%u", + MAJOR(__entry->dev), MINOR(__entry->dev), + __entry->parent_ino, __get_str(name), + __entry->name_len) +); + #endif /* _TRACE_NTFS3_H */ #include <trace/define_trace.h> -- 2.51.0
