summaryrefslogtreecommitdiff
path: root/fs/smb/client/trace.h
diff options
context:
space:
mode:
authorSteve French <stfrench@microsoft.com>2024-03-06 10:03:59 +0300
committerSteve French <stfrench@microsoft.com>2024-03-11 03:36:18 +0300
commit073dd87c8e1ee55ca163956f0c71249dc28aac51 (patch)
tree28e180b007f1a8b604b94088369c1174c938a95d /fs/smb/client/trace.h
parentf3dc1bdb6b0b0693562c7c54a6c28bafa608ba3c (diff)
downloadlinux-073dd87c8e1ee55ca163956f0c71249dc28aac51.tar.xz
smb3: add dynamic trace point for ioctls
It can be helpful in debugging to know which ioctls are called to better correlate them with smb3 fsctls (and opens). Add a dynamic trace point to trace ioctls into cifs.ko Here is sample output: TASK-PID CPU# ||||| TIMESTAMP FUNCTION | | | ||||| | | new-inotify-ioc-90418 [001] ..... 142157.397024: smb3_ioctl: xid=18 fid=0x0 ioctl cmd=0xc009cf0b new-inotify-ioc-90457 [007] ..... 142217.943569: smb3_ioctl: xid=22 fid=0x389bf5b6 ioctl cmd=0xc009cf0b Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/smb/client/trace.h')
-rw-r--r--fs/smb/client/trace.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/fs/smb/client/trace.h b/fs/smb/client/trace.h
index ce90ae0d77f8..f9c1fd32d0b8 100644
--- a/fs/smb/client/trace.h
+++ b/fs/smb/client/trace.h
@@ -1032,6 +1032,38 @@ DEFINE_EVENT(smb3_ses_class, smb3_##name, \
DEFINE_SMB3_SES_EVENT(ses_not_found);
+DECLARE_EVENT_CLASS(smb3_ioctl_class,
+ TP_PROTO(unsigned int xid,
+ __u64 fid,
+ unsigned int command),
+ TP_ARGS(xid, fid, command),
+ TP_STRUCT__entry(
+ __field(unsigned int, xid)
+ __field(__u64, fid)
+ __field(unsigned int, command)
+ ),
+ TP_fast_assign(
+ __entry->xid = xid;
+ __entry->fid = fid;
+ __entry->command = command;
+ ),
+ TP_printk("xid=%u fid=0x%llx ioctl cmd=0x%x",
+ __entry->xid, __entry->fid, __entry->command)
+)
+
+#define DEFINE_SMB3_IOCTL_EVENT(name) \
+DEFINE_EVENT(smb3_ioctl_class, smb3_##name, \
+ TP_PROTO(unsigned int xid, \
+ __u64 fid, \
+ unsigned int command), \
+ TP_ARGS(xid, fid, command))
+
+DEFINE_SMB3_IOCTL_EVENT(ioctl);
+
+
+
+
+
DECLARE_EVENT_CLASS(smb3_credit_class,
TP_PROTO(__u64 currmid,
__u64 conn_id,