Loading fs/cifs/cifsproto.h +7 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #ifndef _CIFSPROTO_H #define _CIFSPROTO_H #include <linux/nls.h> #include "trace.h" struct statfs; struct smb_vol; Loading @@ -47,6 +48,7 @@ extern void _free_xid(unsigned int); cifs_dbg(FYI, "CIFS VFS: in %s as Xid: %u with uid: %d\n", \ __func__, __xid, \ from_kuid(&init_user_ns, current_fsuid())); \ trace_smb3_enter(__xid, __func__); \ __xid; \ }) Loading @@ -55,6 +57,10 @@ do { \ _free_xid(curr_xid); \ cifs_dbg(FYI, "CIFS VFS: leaving %s (xid = %u) rc = %d\n", \ __func__, curr_xid, (int)rc); \ if (rc) \ trace_smb3_exit_err(curr_xid, __func__, (int)rc); \ else \ trace_smb3_exit_done(curr_xid, __func__); \ } while (0) extern int init_cifs_idmap(void); extern void exit_cifs_idmap(void); Loading fs/cifs/smb2maperror.c +4 −5 Original line number Diff line number Diff line Loading @@ -2457,9 +2457,8 @@ map_smb2_to_linux_error(char *buf, bool log_err) __le32 smb2err = shdr->Status; if (smb2err == 0) { trace_smb3_cmd_done(le32_to_cpu(shdr->ProcessId), shdr->TreeId, shdr->SessionId, le16_to_cpu(shdr->Command), le64_to_cpu(shdr->MessageId)); trace_smb3_cmd_done(shdr->TreeId, shdr->SessionId, le16_to_cpu(shdr->Command), le64_to_cpu(shdr->MessageId)); return 0; } Loading @@ -2483,8 +2482,8 @@ map_smb2_to_linux_error(char *buf, bool log_err) cifs_dbg(FYI, "Mapping SMB2 status code 0x%08x to POSIX err %d\n", __le32_to_cpu(smb2err), rc); trace_smb3_cmd_err(le32_to_cpu(shdr->ProcessId), shdr->TreeId, shdr->SessionId, le16_to_cpu(shdr->Command), trace_smb3_cmd_err(shdr->TreeId, shdr->SessionId, le16_to_cpu(shdr->Command), le64_to_cpu(shdr->MessageId), le32_to_cpu(smb2err), rc); return rc; } fs/cifs/trace.h +74 −29 Original line number Diff line number Diff line Loading @@ -50,8 +50,8 @@ DECLARE_EVENT_CLASS(smb3_rw_err_class, __entry->len = len; __entry->rc = rc; ), TP_printk("xid=%u fid=0x%llx tid=0x%x sid=0x%llx offset=0x%llx len=0x%x rc=%d", __entry->xid, __entry->fid, __entry->tid, __entry->sesid, TP_printk("\txid=%u sid=0x%llx tid=0x%x fid=0x%llx offset=0x%llx len=0x%x rc=%d", __entry->xid, __entry->sesid, __entry->tid, __entry->fid, __entry->offset, __entry->len, __entry->rc) ) Loading Loading @@ -95,8 +95,8 @@ DECLARE_EVENT_CLASS(smb3_rw_done_class, __entry->offset = offset; __entry->len = len; ), TP_printk("xid=%u fid=0x%llx tid=0x%x sid=0x%llx offset=0x%llx len=0x%x", __entry->xid, __entry->fid, __entry->tid, __entry->sesid, TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx offset=0x%llx len=0x%x", __entry->xid, __entry->sesid, __entry->tid, __entry->fid, __entry->offset, __entry->len) ) Loading Loading @@ -137,8 +137,8 @@ DECLARE_EVENT_CLASS(smb3_fd_err_class, __entry->sesid = sesid; __entry->rc = rc; ), TP_printk("xid=%u fid=0x%llx tid=0x%x sid=0x%llx rc=%d", __entry->xid, __entry->fid, __entry->tid, __entry->sesid, TP_printk("\txid=%u sid=0x%llx tid=0x%x fid=0x%llx rc=%d", __entry->xid, __entry->sesid, __entry->tid, __entry->fid, __entry->rc) ) Loading Loading @@ -185,8 +185,8 @@ DECLARE_EVENT_CLASS(smb3_inf_err_class, __entry->type = type; __entry->rc = rc; ), TP_printk("xid=%u fid=0x%llx tid=0x%x sid=0x%llx class=%u type=0x%x rc=%d", __entry->xid, __entry->fid, __entry->tid, __entry->sesid, TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx class=%u type=0x%x rc=%d", __entry->xid, __entry->sesid, __entry->tid, __entry->fid, __entry->infclass, __entry->type, __entry->rc) ) Loading @@ -209,16 +209,14 @@ DEFINE_SMB3_INF_ERR_EVENT(fsctl_err); * For logging SMB3 Status code and Command for responses which return errors */ DECLARE_EVENT_CLASS(smb3_cmd_err_class, TP_PROTO(__u32 pid, __u32 tid, TP_PROTO(__u32 tid, __u64 sesid, __u16 cmd, __u64 mid, __u32 status, int rc), TP_ARGS(pid, tid, sesid, cmd, mid, status, rc), TP_ARGS(tid, sesid, cmd, mid, status, rc), TP_STRUCT__entry( __field(__u32, pid) __field(__u32, tid) __field(__u64, sesid) __field(__u16, cmd) Loading @@ -227,7 +225,6 @@ DECLARE_EVENT_CLASS(smb3_cmd_err_class, __field(int, rc) ), TP_fast_assign( __entry->pid = pid; __entry->tid = tid; __entry->sesid = sesid; __entry->cmd = cmd; Loading @@ -235,61 +232,109 @@ DECLARE_EVENT_CLASS(smb3_cmd_err_class, __entry->status = status; __entry->rc = rc; ), TP_printk(" pid=%u tid=0x%x sid=0x%llx cmd=%u mid=%llu status=0x%x rc=%d", __entry->pid, __entry->tid, __entry->sesid, __entry->cmd, __entry->mid, __entry->status, __entry->rc) TP_printk("\tsid=0x%llx tid=0x%x cmd=%u mid=%llu status=0x%x rc=%d", __entry->sesid, __entry->tid, __entry->cmd, __entry->mid, __entry->status, __entry->rc) ) #define DEFINE_SMB3_CMD_ERR_EVENT(name) \ DEFINE_EVENT(smb3_cmd_err_class, smb3_##name, \ TP_PROTO(unsigned int pid, \ __u32 tid, \ TP_PROTO(__u32 tid, \ __u64 sesid, \ __u16 cmd, \ __u64 mid, \ __u32 status, \ int rc), \ TP_ARGS(pid, tid, sesid, cmd, mid, status, rc)) TP_ARGS(tid, sesid, cmd, mid, status, rc)) DEFINE_SMB3_CMD_ERR_EVENT(cmd_err); DECLARE_EVENT_CLASS(smb3_cmd_done_class, TP_PROTO(__u32 pid, __u32 tid, TP_PROTO(__u32 tid, __u64 sesid, __u16 cmd, __u64 mid), TP_ARGS(pid, tid, sesid, cmd, mid), TP_ARGS(tid, sesid, cmd, mid), TP_STRUCT__entry( __field(__u32, pid) __field(__u32, tid) __field(__u64, sesid) __field(__u16, cmd) __field(__u64, mid) ), TP_fast_assign( __entry->pid = pid; __entry->tid = tid; __entry->sesid = sesid; __entry->cmd = cmd; __entry->mid = mid; ), TP_printk("pid=%u tid=0x%x sid=0x%llx cmd=%u mid=%llu", __entry->pid, __entry->tid, __entry->sesid, TP_printk("\tsid=0x%llx tid=0x%x cmd=%u mid=%llu", __entry->sesid, __entry->tid, __entry->cmd, __entry->mid) ) #define DEFINE_SMB3_CMD_DONE_EVENT(name) \ DEFINE_EVENT(smb3_cmd_done_class, smb3_##name, \ TP_PROTO(unsigned int pid, \ __u32 tid, \ TP_PROTO(__u32 tid, \ __u64 sesid, \ __u16 cmd, \ __u64 mid), \ TP_ARGS(pid, tid, sesid, cmd, mid)) TP_ARGS(tid, sesid, cmd, mid)) DEFINE_SMB3_CMD_DONE_EVENT(cmd_done); DECLARE_EVENT_CLASS(smb3_exit_err_class, TP_PROTO(unsigned int xid, const char *func_name, int rc), TP_ARGS(xid, func_name, rc), TP_STRUCT__entry( __field(unsigned int, xid) __field(const char *, func_name) __field(int, rc) ), TP_fast_assign( __entry->xid = xid; __entry->func_name = func_name; __entry->rc = rc; ), TP_printk("\t%s: xid=%u rc=%d", __entry->func_name, __entry->xid, __entry->rc) ) #define DEFINE_SMB3_EXIT_ERR_EVENT(name) \ DEFINE_EVENT(smb3_exit_err_class, smb3_##name, \ TP_PROTO(unsigned int xid, \ const char *func_name, \ int rc), \ TP_ARGS(xid, func_name, rc)) DEFINE_SMB3_EXIT_ERR_EVENT(exit_err); DECLARE_EVENT_CLASS(smb3_enter_exit_class, TP_PROTO(unsigned int xid, const char *func_name), TP_ARGS(xid, func_name), TP_STRUCT__entry( __field(unsigned int, xid) __field(const char *, func_name) ), TP_fast_assign( __entry->xid = xid; __entry->func_name = func_name; ), TP_printk("\t%s: xid=%u", __entry->func_name, __entry->xid) ) #define DEFINE_SMB3_ENTER_EXIT_EVENT(name) \ DEFINE_EVENT(smb3_enter_exit_class, smb3_##name, \ TP_PROTO(unsigned int xid, \ const char *func_name), \ TP_ARGS(xid, func_name)) DEFINE_SMB3_ENTER_EXIT_EVENT(enter); DEFINE_SMB3_ENTER_EXIT_EVENT(exit_done); #endif /* _CIFS_TRACE_H */ #undef TRACE_INCLUDE_PATH Loading Loading
fs/cifs/cifsproto.h +7 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #ifndef _CIFSPROTO_H #define _CIFSPROTO_H #include <linux/nls.h> #include "trace.h" struct statfs; struct smb_vol; Loading @@ -47,6 +48,7 @@ extern void _free_xid(unsigned int); cifs_dbg(FYI, "CIFS VFS: in %s as Xid: %u with uid: %d\n", \ __func__, __xid, \ from_kuid(&init_user_ns, current_fsuid())); \ trace_smb3_enter(__xid, __func__); \ __xid; \ }) Loading @@ -55,6 +57,10 @@ do { \ _free_xid(curr_xid); \ cifs_dbg(FYI, "CIFS VFS: leaving %s (xid = %u) rc = %d\n", \ __func__, curr_xid, (int)rc); \ if (rc) \ trace_smb3_exit_err(curr_xid, __func__, (int)rc); \ else \ trace_smb3_exit_done(curr_xid, __func__); \ } while (0) extern int init_cifs_idmap(void); extern void exit_cifs_idmap(void); Loading
fs/cifs/smb2maperror.c +4 −5 Original line number Diff line number Diff line Loading @@ -2457,9 +2457,8 @@ map_smb2_to_linux_error(char *buf, bool log_err) __le32 smb2err = shdr->Status; if (smb2err == 0) { trace_smb3_cmd_done(le32_to_cpu(shdr->ProcessId), shdr->TreeId, shdr->SessionId, le16_to_cpu(shdr->Command), le64_to_cpu(shdr->MessageId)); trace_smb3_cmd_done(shdr->TreeId, shdr->SessionId, le16_to_cpu(shdr->Command), le64_to_cpu(shdr->MessageId)); return 0; } Loading @@ -2483,8 +2482,8 @@ map_smb2_to_linux_error(char *buf, bool log_err) cifs_dbg(FYI, "Mapping SMB2 status code 0x%08x to POSIX err %d\n", __le32_to_cpu(smb2err), rc); trace_smb3_cmd_err(le32_to_cpu(shdr->ProcessId), shdr->TreeId, shdr->SessionId, le16_to_cpu(shdr->Command), trace_smb3_cmd_err(shdr->TreeId, shdr->SessionId, le16_to_cpu(shdr->Command), le64_to_cpu(shdr->MessageId), le32_to_cpu(smb2err), rc); return rc; }
fs/cifs/trace.h +74 −29 Original line number Diff line number Diff line Loading @@ -50,8 +50,8 @@ DECLARE_EVENT_CLASS(smb3_rw_err_class, __entry->len = len; __entry->rc = rc; ), TP_printk("xid=%u fid=0x%llx tid=0x%x sid=0x%llx offset=0x%llx len=0x%x rc=%d", __entry->xid, __entry->fid, __entry->tid, __entry->sesid, TP_printk("\txid=%u sid=0x%llx tid=0x%x fid=0x%llx offset=0x%llx len=0x%x rc=%d", __entry->xid, __entry->sesid, __entry->tid, __entry->fid, __entry->offset, __entry->len, __entry->rc) ) Loading Loading @@ -95,8 +95,8 @@ DECLARE_EVENT_CLASS(smb3_rw_done_class, __entry->offset = offset; __entry->len = len; ), TP_printk("xid=%u fid=0x%llx tid=0x%x sid=0x%llx offset=0x%llx len=0x%x", __entry->xid, __entry->fid, __entry->tid, __entry->sesid, TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx offset=0x%llx len=0x%x", __entry->xid, __entry->sesid, __entry->tid, __entry->fid, __entry->offset, __entry->len) ) Loading Loading @@ -137,8 +137,8 @@ DECLARE_EVENT_CLASS(smb3_fd_err_class, __entry->sesid = sesid; __entry->rc = rc; ), TP_printk("xid=%u fid=0x%llx tid=0x%x sid=0x%llx rc=%d", __entry->xid, __entry->fid, __entry->tid, __entry->sesid, TP_printk("\txid=%u sid=0x%llx tid=0x%x fid=0x%llx rc=%d", __entry->xid, __entry->sesid, __entry->tid, __entry->fid, __entry->rc) ) Loading Loading @@ -185,8 +185,8 @@ DECLARE_EVENT_CLASS(smb3_inf_err_class, __entry->type = type; __entry->rc = rc; ), TP_printk("xid=%u fid=0x%llx tid=0x%x sid=0x%llx class=%u type=0x%x rc=%d", __entry->xid, __entry->fid, __entry->tid, __entry->sesid, TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx class=%u type=0x%x rc=%d", __entry->xid, __entry->sesid, __entry->tid, __entry->fid, __entry->infclass, __entry->type, __entry->rc) ) Loading @@ -209,16 +209,14 @@ DEFINE_SMB3_INF_ERR_EVENT(fsctl_err); * For logging SMB3 Status code and Command for responses which return errors */ DECLARE_EVENT_CLASS(smb3_cmd_err_class, TP_PROTO(__u32 pid, __u32 tid, TP_PROTO(__u32 tid, __u64 sesid, __u16 cmd, __u64 mid, __u32 status, int rc), TP_ARGS(pid, tid, sesid, cmd, mid, status, rc), TP_ARGS(tid, sesid, cmd, mid, status, rc), TP_STRUCT__entry( __field(__u32, pid) __field(__u32, tid) __field(__u64, sesid) __field(__u16, cmd) Loading @@ -227,7 +225,6 @@ DECLARE_EVENT_CLASS(smb3_cmd_err_class, __field(int, rc) ), TP_fast_assign( __entry->pid = pid; __entry->tid = tid; __entry->sesid = sesid; __entry->cmd = cmd; Loading @@ -235,61 +232,109 @@ DECLARE_EVENT_CLASS(smb3_cmd_err_class, __entry->status = status; __entry->rc = rc; ), TP_printk(" pid=%u tid=0x%x sid=0x%llx cmd=%u mid=%llu status=0x%x rc=%d", __entry->pid, __entry->tid, __entry->sesid, __entry->cmd, __entry->mid, __entry->status, __entry->rc) TP_printk("\tsid=0x%llx tid=0x%x cmd=%u mid=%llu status=0x%x rc=%d", __entry->sesid, __entry->tid, __entry->cmd, __entry->mid, __entry->status, __entry->rc) ) #define DEFINE_SMB3_CMD_ERR_EVENT(name) \ DEFINE_EVENT(smb3_cmd_err_class, smb3_##name, \ TP_PROTO(unsigned int pid, \ __u32 tid, \ TP_PROTO(__u32 tid, \ __u64 sesid, \ __u16 cmd, \ __u64 mid, \ __u32 status, \ int rc), \ TP_ARGS(pid, tid, sesid, cmd, mid, status, rc)) TP_ARGS(tid, sesid, cmd, mid, status, rc)) DEFINE_SMB3_CMD_ERR_EVENT(cmd_err); DECLARE_EVENT_CLASS(smb3_cmd_done_class, TP_PROTO(__u32 pid, __u32 tid, TP_PROTO(__u32 tid, __u64 sesid, __u16 cmd, __u64 mid), TP_ARGS(pid, tid, sesid, cmd, mid), TP_ARGS(tid, sesid, cmd, mid), TP_STRUCT__entry( __field(__u32, pid) __field(__u32, tid) __field(__u64, sesid) __field(__u16, cmd) __field(__u64, mid) ), TP_fast_assign( __entry->pid = pid; __entry->tid = tid; __entry->sesid = sesid; __entry->cmd = cmd; __entry->mid = mid; ), TP_printk("pid=%u tid=0x%x sid=0x%llx cmd=%u mid=%llu", __entry->pid, __entry->tid, __entry->sesid, TP_printk("\tsid=0x%llx tid=0x%x cmd=%u mid=%llu", __entry->sesid, __entry->tid, __entry->cmd, __entry->mid) ) #define DEFINE_SMB3_CMD_DONE_EVENT(name) \ DEFINE_EVENT(smb3_cmd_done_class, smb3_##name, \ TP_PROTO(unsigned int pid, \ __u32 tid, \ TP_PROTO(__u32 tid, \ __u64 sesid, \ __u16 cmd, \ __u64 mid), \ TP_ARGS(pid, tid, sesid, cmd, mid)) TP_ARGS(tid, sesid, cmd, mid)) DEFINE_SMB3_CMD_DONE_EVENT(cmd_done); DECLARE_EVENT_CLASS(smb3_exit_err_class, TP_PROTO(unsigned int xid, const char *func_name, int rc), TP_ARGS(xid, func_name, rc), TP_STRUCT__entry( __field(unsigned int, xid) __field(const char *, func_name) __field(int, rc) ), TP_fast_assign( __entry->xid = xid; __entry->func_name = func_name; __entry->rc = rc; ), TP_printk("\t%s: xid=%u rc=%d", __entry->func_name, __entry->xid, __entry->rc) ) #define DEFINE_SMB3_EXIT_ERR_EVENT(name) \ DEFINE_EVENT(smb3_exit_err_class, smb3_##name, \ TP_PROTO(unsigned int xid, \ const char *func_name, \ int rc), \ TP_ARGS(xid, func_name, rc)) DEFINE_SMB3_EXIT_ERR_EVENT(exit_err); DECLARE_EVENT_CLASS(smb3_enter_exit_class, TP_PROTO(unsigned int xid, const char *func_name), TP_ARGS(xid, func_name), TP_STRUCT__entry( __field(unsigned int, xid) __field(const char *, func_name) ), TP_fast_assign( __entry->xid = xid; __entry->func_name = func_name; ), TP_printk("\t%s: xid=%u", __entry->func_name, __entry->xid) ) #define DEFINE_SMB3_ENTER_EXIT_EVENT(name) \ DEFINE_EVENT(smb3_enter_exit_class, smb3_##name, \ TP_PROTO(unsigned int xid, \ const char *func_name), \ TP_ARGS(xid, func_name)) DEFINE_SMB3_ENTER_EXIT_EVENT(enter); DEFINE_SMB3_ENTER_EXIT_EVENT(exit_done); #endif /* _CIFS_TRACE_H */ #undef TRACE_INCLUDE_PATH Loading