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


Reply via email to