[PATCH v1 v1 2/7] ntfs3: add namei tracepoints
From: Baolin Liu <hidden>
Date: 2026-07-17 03:23:42
Also in:
lkml, ntfs3
Subsystem:
filesystems (vfs and infrastructure), ntfs3 filesystem, the rest, tracing · Maintainers:
Alexander Viro, Christian Brauner, Konstantin Komarov, Linus Torvalds, Steven Rostedt, Masami Hiramatsu
From: Baolin Liu <redacted> Add ntfs3 tracepoints for namei operations. This adds trace events for ntfs_lookup() and ntfs_rename() to help observe directory lookup and rename activity. Signed-off-by: Baolin Liu <redacted> --- fs/ntfs3/namei.c | 5 ++++ include/trace/events/ntfs3.h | 47 ++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+)
diff --git a/fs/ntfs3/namei.c b/fs/ntfs3/namei.c
index c59de5f2fa97..c1523decee32 100644
--- a/fs/ntfs3/namei.c
+++ b/fs/ntfs3/namei.c@@ -13,6 +13,7 @@ #include "debug.h" #include "ntfs.h" #include "ntfs_fs.h" +#include <trace/events/ntfs3.h> /* * fill_name_de - Format NTFS_DE in @buf.
@@ -72,6 +73,8 @@ static struct dentry *ntfs_lookup(struct inode *dir, struct dentry *dentry, struct inode *inode; int err; + trace_ntfs3_lookup(dir, dentry); + if (!uni) inode = ERR_PTR(-ENOMEM); else {
@@ -275,6 +278,8 @@ static int ntfs_rename(struct mnt_idmap *idmap, struct inode *dir, if (unlikely(ntfs3_forced_shutdown(sb))) return -EIO; + trace_ntfs3_rename(dir, dentry, new_dir, new_dentry); + if (flags & ~RENAME_NOREPLACE) return -EINVAL;
diff --git a/include/trace/events/ntfs3.h b/include/trace/events/ntfs3.h
index d00f66e42ba8..ba27531d889e 100644
--- a/include/trace/events/ntfs3.h
+++ b/include/trace/events/ntfs3.h@@ -80,6 +80,53 @@ TRACE_EVENT(ntfs3_log_replay, __entry->size, __entry->initialized, __entry->err) ); +TRACE_EVENT(ntfs3_lookup, + 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) +); + +TRACE_EVENT(ntfs3_rename, + TP_PROTO(struct inode *dir, struct dentry *dentry, + struct inode *new_dir, struct dentry *new_dentry), + TP_ARGS(dir, dentry, new_dir, new_dentry), + TP_STRUCT__entry( + __field(dev_t, dev) + __field(unsigned long, dir_ino) + __field(unsigned long, new_dir_ino) + __field(unsigned long, ino) + __string(old_name, dentry->d_name.name) + __string(new_name, new_dentry->d_name.name) + ), + TP_fast_assign( + __entry->dev = dir->i_sb->s_dev; + __entry->dir_ino = dir->i_ino; + __entry->new_dir_ino = new_dir->i_ino; + __entry->ino = d_inode(dentry)->i_ino; + __assign_str(old_name); + __assign_str(new_name); + ), + TP_printk("dev=(%d,%d) dir=%lu new_dir=%lu ino=%lu old=%s new=%s", + MAJOR(__entry->dev), MINOR(__entry->dev), + __entry->dir_ino, __entry->new_dir_ino, __entry->ino, + __get_str(old_name), __get_str(new_name)) +); + #endif /* _TRACE_NTFS3_H */ #include <trace/define_trace.h>
--
2.51.0