^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Copyright (C) 2018, Microsoft Corporation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Author(s): Steve French <stfrench@microsoft.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #undef TRACE_SYSTEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #define TRACE_SYSTEM cifs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #if !defined(_CIFS_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define _CIFS_TRACE_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #include <linux/tracepoint.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) /* For logging errors in read or write */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) DECLARE_EVENT_CLASS(smb3_rw_err_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) __u64 fid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) __u64 offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) __u32 len,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) int rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) TP_ARGS(xid, fid, tid, sesid, offset, len, rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) __field(__u64, fid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) __field(__u64, offset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) __field(__u32, len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) __field(int, rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) __entry->fid = fid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) __entry->offset = offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) __entry->len = len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) __entry->rc = rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) TP_printk("\txid=%u sid=0x%llx tid=0x%x fid=0x%llx offset=0x%llx len=0x%x rc=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) __entry->xid, __entry->sesid, __entry->tid, __entry->fid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) __entry->offset, __entry->len, __entry->rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) #define DEFINE_SMB3_RW_ERR_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) DEFINE_EVENT(smb3_rw_err_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) __u64 fid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) __u64 offset, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) __u32 len, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) int rc), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) TP_ARGS(xid, fid, tid, sesid, offset, len, rc))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) DEFINE_SMB3_RW_ERR_EVENT(write_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) DEFINE_SMB3_RW_ERR_EVENT(read_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) DEFINE_SMB3_RW_ERR_EVENT(query_dir_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) DEFINE_SMB3_RW_ERR_EVENT(zero_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) DEFINE_SMB3_RW_ERR_EVENT(falloc_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) /* For logging successful read or write */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) DECLARE_EVENT_CLASS(smb3_rw_done_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) __u64 fid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) __u64 offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) __u32 len),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) TP_ARGS(xid, fid, tid, sesid, offset, len),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) __field(__u64, fid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) __field(__u64, offset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) __field(__u32, len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) __entry->fid = fid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) __entry->offset = offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) __entry->len = len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx offset=0x%llx len=0x%x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) __entry->xid, __entry->sesid, __entry->tid, __entry->fid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) __entry->offset, __entry->len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) #define DEFINE_SMB3_RW_DONE_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) DEFINE_EVENT(smb3_rw_done_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) __u64 fid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) __u64 offset, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) __u32 len), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) TP_ARGS(xid, fid, tid, sesid, offset, len))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) DEFINE_SMB3_RW_DONE_EVENT(write_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) DEFINE_SMB3_RW_DONE_EVENT(read_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) DEFINE_SMB3_RW_DONE_EVENT(query_dir_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) DEFINE_SMB3_RW_DONE_EVENT(zero_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) DEFINE_SMB3_RW_DONE_EVENT(falloc_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) DEFINE_SMB3_RW_DONE_EVENT(write_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) DEFINE_SMB3_RW_DONE_EVENT(read_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) DEFINE_SMB3_RW_DONE_EVENT(query_dir_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) DEFINE_SMB3_RW_DONE_EVENT(zero_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) DEFINE_SMB3_RW_DONE_EVENT(falloc_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) * For handle based calls other than read and write, and get/set info
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) DECLARE_EVENT_CLASS(smb3_fd_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) __u64 fid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) __u64 sesid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) TP_ARGS(xid, fid, tid, sesid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) __field(__u64, fid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) __entry->fid = fid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) TP_printk("\txid=%u sid=0x%llx tid=0x%x fid=0x%llx",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) __entry->xid, __entry->sesid, __entry->tid, __entry->fid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) #define DEFINE_SMB3_FD_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) DEFINE_EVENT(smb3_fd_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) __u64 fid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) __u64 sesid), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) TP_ARGS(xid, fid, tid, sesid))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) DEFINE_SMB3_FD_EVENT(flush_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) DEFINE_SMB3_FD_EVENT(flush_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) DEFINE_SMB3_FD_EVENT(close_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) DEFINE_SMB3_FD_EVENT(close_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) DECLARE_EVENT_CLASS(smb3_fd_err_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) __u64 fid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) int rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) TP_ARGS(xid, fid, tid, sesid, rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) __field(__u64, fid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) __field(int, rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) __entry->fid = fid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) __entry->rc = rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) TP_printk("\txid=%u sid=0x%llx tid=0x%x fid=0x%llx rc=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) __entry->xid, __entry->sesid, __entry->tid, __entry->fid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) __entry->rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) #define DEFINE_SMB3_FD_ERR_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) DEFINE_EVENT(smb3_fd_err_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) __u64 fid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) int rc), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) TP_ARGS(xid, fid, tid, sesid, rc))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) DEFINE_SMB3_FD_ERR_EVENT(flush_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) DEFINE_SMB3_FD_ERR_EVENT(lock_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) DEFINE_SMB3_FD_ERR_EVENT(close_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) * For handle based query/set info calls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) DECLARE_EVENT_CLASS(smb3_inf_enter_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) __u64 fid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) __u8 infclass,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) __u32 type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) TP_ARGS(xid, fid, tid, sesid, infclass, type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) __field(__u64, fid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) __field(__u8, infclass)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) __field(__u32, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) __entry->fid = fid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) __entry->infclass = infclass;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) __entry->type = type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx class=%u type=0x%x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) __entry->xid, __entry->sesid, __entry->tid, __entry->fid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) __entry->infclass, __entry->type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) #define DEFINE_SMB3_INF_ENTER_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) DEFINE_EVENT(smb3_inf_enter_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) __u64 fid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) __u8 infclass, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) __u32 type), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) TP_ARGS(xid, fid, tid, sesid, infclass, type))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) DEFINE_SMB3_INF_ENTER_EVENT(query_info_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) DEFINE_SMB3_INF_ENTER_EVENT(query_info_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) DEFINE_SMB3_INF_ENTER_EVENT(notify_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) DEFINE_SMB3_INF_ENTER_EVENT(notify_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) DECLARE_EVENT_CLASS(smb3_inf_err_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) __u64 fid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) __u8 infclass,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) __u32 type,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) int rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) TP_ARGS(xid, fid, tid, sesid, infclass, type, rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) __field(__u64, fid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) __field(__u8, infclass)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) __field(__u32, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) __field(int, rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) __entry->fid = fid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) __entry->infclass = infclass;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) __entry->type = type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) __entry->rc = rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx class=%u type=0x%x rc=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) __entry->xid, __entry->sesid, __entry->tid, __entry->fid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) __entry->infclass, __entry->type, __entry->rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) #define DEFINE_SMB3_INF_ERR_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) DEFINE_EVENT(smb3_inf_err_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) __u64 fid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) __u8 infclass, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) __u32 type, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) int rc), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) TP_ARGS(xid, fid, tid, sesid, infclass, type, rc))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) DEFINE_SMB3_INF_ERR_EVENT(query_info_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) DEFINE_SMB3_INF_ERR_EVENT(set_info_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) DEFINE_SMB3_INF_ERR_EVENT(notify_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) DEFINE_SMB3_INF_ERR_EVENT(fsctl_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) DECLARE_EVENT_CLASS(smb3_inf_compound_enter_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) const char *full_path),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) TP_ARGS(xid, tid, sesid, full_path),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) __string(path, full_path)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) __assign_str(path, full_path);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) TP_printk("xid=%u sid=0x%llx tid=0x%x path=%s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) __entry->xid, __entry->sesid, __entry->tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) __get_str(path))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) #define DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) DEFINE_EVENT(smb3_inf_compound_enter_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) const char *full_path), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) TP_ARGS(xid, tid, sesid, full_path))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(query_info_compound_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(posix_query_info_compound_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(hardlink_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(rename_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(rmdir_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(set_eof_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(set_info_compound_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(delete_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(mkdir_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) DECLARE_EVENT_CLASS(smb3_inf_compound_done_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) __u64 sesid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) TP_ARGS(xid, tid, sesid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) TP_printk("xid=%u sid=0x%llx tid=0x%x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) __entry->xid, __entry->sesid, __entry->tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) #define DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) DEFINE_EVENT(smb3_inf_compound_done_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) __u64 sesid), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) TP_ARGS(xid, tid, sesid))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(query_info_compound_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(posix_query_info_compound_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(hardlink_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(rename_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(rmdir_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(set_eof_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(set_info_compound_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(delete_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(mkdir_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) DECLARE_EVENT_CLASS(smb3_inf_compound_err_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) int rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) TP_ARGS(xid, tid, sesid, rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) __field(int, rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) __entry->rc = rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) TP_printk("xid=%u sid=0x%llx tid=0x%x rc=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) __entry->xid, __entry->sesid, __entry->tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) __entry->rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) #define DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) DEFINE_EVENT(smb3_inf_compound_err_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) int rc), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) TP_ARGS(xid, tid, sesid, rc))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(query_info_compound_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(posix_query_info_compound_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(hardlink_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(rename_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(rmdir_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(set_eof_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(set_info_compound_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(mkdir_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(delete_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) * For logging SMB3 Status code and Command for responses which return errors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) DECLARE_EVENT_CLASS(smb3_cmd_err_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) TP_PROTO(__u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) __u16 cmd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) __u64 mid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) __u32 status,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) int rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) TP_ARGS(tid, sesid, cmd, mid, status, rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) __field(__u16, cmd)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) __field(__u64, mid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) __field(__u32, status)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) __field(int, rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) __entry->cmd = cmd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) __entry->mid = mid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) __entry->status = status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) __entry->rc = rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) TP_printk("\tsid=0x%llx tid=0x%x cmd=%u mid=%llu status=0x%x rc=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) __entry->sesid, __entry->tid, __entry->cmd, __entry->mid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) __entry->status, __entry->rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) #define DEFINE_SMB3_CMD_ERR_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) DEFINE_EVENT(smb3_cmd_err_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) TP_PROTO(__u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) __u16 cmd, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) __u64 mid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) __u32 status, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) int rc), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) TP_ARGS(tid, sesid, cmd, mid, status, rc))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) DEFINE_SMB3_CMD_ERR_EVENT(cmd_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) DECLARE_EVENT_CLASS(smb3_cmd_done_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) TP_PROTO(__u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456) __u16 cmd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) __u64 mid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) TP_ARGS(tid, sesid, cmd, mid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) __field(__u16, cmd)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) __field(__u64, mid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) __entry->cmd = cmd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) __entry->mid = mid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) TP_printk("\tsid=0x%llx tid=0x%x cmd=%u mid=%llu",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) __entry->sesid, __entry->tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) __entry->cmd, __entry->mid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) #define DEFINE_SMB3_CMD_DONE_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) DEFINE_EVENT(smb3_cmd_done_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) TP_PROTO(__u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) __u16 cmd, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) __u64 mid), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) TP_ARGS(tid, sesid, cmd, mid))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) DEFINE_SMB3_CMD_DONE_EVENT(cmd_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) DEFINE_SMB3_CMD_DONE_EVENT(cmd_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) DEFINE_SMB3_CMD_DONE_EVENT(ses_expired);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) DECLARE_EVENT_CLASS(smb3_mid_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) TP_PROTO(__u16 cmd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) __u64 mid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) __u32 pid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) unsigned long when_sent,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) unsigned long when_received),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) TP_ARGS(cmd, mid, pid, when_sent, when_received),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) __field(__u16, cmd)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) __field(__u64, mid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) __field(__u32, pid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) __field(unsigned long, when_sent)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500) __field(unsigned long, when_received)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) __entry->cmd = cmd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) __entry->mid = mid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) __entry->pid = pid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) __entry->when_sent = when_sent;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507) __entry->when_received = when_received;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) TP_printk("\tcmd=%u mid=%llu pid=%u, when_sent=%lu when_rcv=%lu",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) __entry->cmd, __entry->mid, __entry->pid, __entry->when_sent,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) __entry->when_received)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514) #define DEFINE_SMB3_MID_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) DEFINE_EVENT(smb3_mid_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) TP_PROTO(__u16 cmd, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) __u64 mid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) __u32 pid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) unsigned long when_sent, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520) unsigned long when_received), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) TP_ARGS(cmd, mid, pid, when_sent, when_received))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) DEFINE_SMB3_MID_EVENT(slow_rsp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) DECLARE_EVENT_CLASS(smb3_exit_err_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) const char *func_name,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) int rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) TP_ARGS(xid, func_name, rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) __field(const char *, func_name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) __field(int, rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) __entry->func_name = func_name;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) __entry->rc = rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) TP_printk("\t%s: xid=%u rc=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) __entry->func_name, __entry->xid, __entry->rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) #define DEFINE_SMB3_EXIT_ERR_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545) DEFINE_EVENT(smb3_exit_err_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547) const char *func_name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) int rc), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) TP_ARGS(xid, func_name, rc))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) DEFINE_SMB3_EXIT_ERR_EVENT(exit_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) DECLARE_EVENT_CLASS(smb3_sync_err_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) TP_PROTO(unsigned long ino,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) int rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) TP_ARGS(ino, rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) __field(unsigned long, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) __field(int, rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) __entry->ino = ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) __entry->rc = rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) TP_printk("\tino=%lu rc=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) __entry->ino, __entry->rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) #define DEFINE_SMB3_SYNC_ERR_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) DEFINE_EVENT(smb3_sync_err_class, cifs_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) TP_PROTO(unsigned long ino, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) int rc), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) TP_ARGS(ino, rc))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) DEFINE_SMB3_SYNC_ERR_EVENT(fsync_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) DEFINE_SMB3_SYNC_ERR_EVENT(flush_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) DECLARE_EVENT_CLASS(smb3_enter_exit_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) const char *func_name),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583) TP_ARGS(xid, func_name),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) __field(const char *, func_name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590) __entry->func_name = func_name;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) TP_printk("\t%s: xid=%u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) __entry->func_name, __entry->xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) #define DEFINE_SMB3_ENTER_EXIT_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597) DEFINE_EVENT(smb3_enter_exit_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) const char *func_name), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) TP_ARGS(xid, func_name))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602) DEFINE_SMB3_ENTER_EXIT_EVENT(enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) DEFINE_SMB3_ENTER_EXIT_EVENT(exit_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) * For SMB2/SMB3 tree connect
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609) DECLARE_EVENT_CLASS(smb3_tcon_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) const char *unc_name,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) int rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615) TP_ARGS(xid, tid, sesid, unc_name, rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620) __string(name, unc_name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621) __field(int, rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627) __assign_str(name, unc_name);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628) __entry->rc = rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630) TP_printk("xid=%u sid=0x%llx tid=0x%x unc_name=%s rc=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631) __entry->xid, __entry->sesid, __entry->tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632) __get_str(name), __entry->rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635) #define DEFINE_SMB3_TCON_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) DEFINE_EVENT(smb3_tcon_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) const char *unc_name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641) int rc), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642) TP_ARGS(xid, tid, sesid, unc_name, rc))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) DEFINE_SMB3_TCON_EVENT(tcon);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) * For smb2/smb3 open (including create and mkdir) calls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) DECLARE_EVENT_CLASS(smb3_open_enter_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) int create_options,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) int desired_access),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657) TP_ARGS(xid, tid, sesid, create_options, desired_access),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662) __field(int, create_options)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) __field(int, desired_access)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669) __entry->create_options = create_options;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670) __entry->desired_access = desired_access;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) TP_printk("xid=%u sid=0x%llx tid=0x%x cr_opts=0x%x des_access=0x%x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) __entry->xid, __entry->sesid, __entry->tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 674) __entry->create_options, __entry->desired_access)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 675) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 676)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 677) #define DEFINE_SMB3_OPEN_ENTER_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 678) DEFINE_EVENT(smb3_open_enter_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 679) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 680) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 681) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 682) int create_options, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 683) int desired_access), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 684) TP_ARGS(xid, tid, sesid, create_options, desired_access))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 685)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 686) DEFINE_SMB3_OPEN_ENTER_EVENT(open_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 687) DEFINE_SMB3_OPEN_ENTER_EVENT(posix_mkdir_enter);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 688)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 689) DECLARE_EVENT_CLASS(smb3_open_err_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 690) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 691) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 692) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 693) int create_options,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 694) int desired_access,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 695) int rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 696) TP_ARGS(xid, tid, sesid, create_options, desired_access, rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 697) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 698) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 699) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 700) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 701) __field(int, create_options)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 702) __field(int, desired_access)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 703) __field(int, rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 704) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 705) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 706) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 707) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 708) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 709) __entry->create_options = create_options;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 710) __entry->desired_access = desired_access;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 711) __entry->rc = rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 712) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 713) TP_printk("xid=%u sid=0x%llx tid=0x%x cr_opts=0x%x des_access=0x%x rc=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 714) __entry->xid, __entry->sesid, __entry->tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 715) __entry->create_options, __entry->desired_access, __entry->rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 716) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 717)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 718) #define DEFINE_SMB3_OPEN_ERR_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 719) DEFINE_EVENT(smb3_open_err_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 720) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 721) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 722) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 723) int create_options, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 724) int desired_access, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 725) int rc), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 726) TP_ARGS(xid, tid, sesid, create_options, desired_access, rc))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 727)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 728) DEFINE_SMB3_OPEN_ERR_EVENT(open_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 729) DEFINE_SMB3_OPEN_ERR_EVENT(posix_mkdir_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 730)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 731) DECLARE_EVENT_CLASS(smb3_open_done_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 732) TP_PROTO(unsigned int xid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 733) __u64 fid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 734) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 735) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 736) int create_options,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 737) int desired_access),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 738) TP_ARGS(xid, fid, tid, sesid, create_options, desired_access),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 739) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 740) __field(unsigned int, xid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 741) __field(__u64, fid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 742) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 743) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 744) __field(int, create_options)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 745) __field(int, desired_access)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 746) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 747) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 748) __entry->xid = xid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 749) __entry->fid = fid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 750) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 751) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 752) __entry->create_options = create_options;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 753) __entry->desired_access = desired_access;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 754) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 755) TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx cr_opts=0x%x des_access=0x%x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 756) __entry->xid, __entry->sesid, __entry->tid, __entry->fid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 757) __entry->create_options, __entry->desired_access)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 758) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 759)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 760) #define DEFINE_SMB3_OPEN_DONE_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 761) DEFINE_EVENT(smb3_open_done_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 762) TP_PROTO(unsigned int xid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 763) __u64 fid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 764) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 765) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 766) int create_options, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 767) int desired_access), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 768) TP_ARGS(xid, fid, tid, sesid, create_options, desired_access))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 769)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 770) DEFINE_SMB3_OPEN_DONE_EVENT(open_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 771) DEFINE_SMB3_OPEN_DONE_EVENT(posix_mkdir_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 772)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 773)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 774) DECLARE_EVENT_CLASS(smb3_lease_done_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 775) TP_PROTO(__u32 lease_state,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 776) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 777) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 778) __u64 lease_key_low,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 779) __u64 lease_key_high),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 780) TP_ARGS(lease_state, tid, sesid, lease_key_low, lease_key_high),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 781) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 782) __field(__u32, lease_state)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 783) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 784) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 785) __field(__u64, lease_key_low)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 786) __field(__u64, lease_key_high)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 787) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 788) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 789) __entry->lease_state = lease_state;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 790) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 791) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 792) __entry->lease_key_low = lease_key_low;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 793) __entry->lease_key_high = lease_key_high;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 794) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 795) TP_printk("sid=0x%llx tid=0x%x lease_key=0x%llx%llx lease_state=0x%x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 796) __entry->sesid, __entry->tid, __entry->lease_key_high,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 797) __entry->lease_key_low, __entry->lease_state)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 798) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 799)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 800) #define DEFINE_SMB3_LEASE_DONE_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 801) DEFINE_EVENT(smb3_lease_done_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 802) TP_PROTO(__u32 lease_state, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 803) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 804) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 805) __u64 lease_key_low, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 806) __u64 lease_key_high), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 807) TP_ARGS(lease_state, tid, sesid, lease_key_low, lease_key_high))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 808)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 809) DEFINE_SMB3_LEASE_DONE_EVENT(lease_done);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 810)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 811) DECLARE_EVENT_CLASS(smb3_lease_err_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 812) TP_PROTO(__u32 lease_state,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 813) __u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 814) __u64 sesid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 815) __u64 lease_key_low,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 816) __u64 lease_key_high,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 817) int rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 818) TP_ARGS(lease_state, tid, sesid, lease_key_low, lease_key_high, rc),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 819) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 820) __field(__u32, lease_state)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 821) __field(__u32, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 822) __field(__u64, sesid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 823) __field(__u64, lease_key_low)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 824) __field(__u64, lease_key_high)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 825) __field(int, rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 826) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 827) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 828) __entry->lease_state = lease_state;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 829) __entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 830) __entry->sesid = sesid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 831) __entry->lease_key_low = lease_key_low;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 832) __entry->lease_key_high = lease_key_high;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 833) __entry->rc = rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 834) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 835) TP_printk("sid=0x%llx tid=0x%x lease_key=0x%llx%llx lease_state=0x%x rc=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 836) __entry->sesid, __entry->tid, __entry->lease_key_high,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 837) __entry->lease_key_low, __entry->lease_state, __entry->rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 838) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 839)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 840) #define DEFINE_SMB3_LEASE_ERR_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 841) DEFINE_EVENT(smb3_lease_err_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 842) TP_PROTO(__u32 lease_state, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 843) __u32 tid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 844) __u64 sesid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 845) __u64 lease_key_low, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 846) __u64 lease_key_high, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 847) int rc), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 848) TP_ARGS(lease_state, tid, sesid, lease_key_low, lease_key_high, rc))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 849)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 850) DEFINE_SMB3_LEASE_ERR_EVENT(lease_err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 851)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 852) DECLARE_EVENT_CLASS(smb3_reconnect_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 853) TP_PROTO(__u64 currmid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 854) char *hostname),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 855) TP_ARGS(currmid, hostname),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 856) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 857) __field(__u64, currmid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 858) __field(char *, hostname)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 859) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 860) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 861) __entry->currmid = currmid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 862) __entry->hostname = hostname;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 863) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 864) TP_printk("server=%s current_mid=0x%llx",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 865) __entry->hostname,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 866) __entry->currmid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 867) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 868)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 869) #define DEFINE_SMB3_RECONNECT_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 870) DEFINE_EVENT(smb3_reconnect_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 871) TP_PROTO(__u64 currmid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 872) char *hostname), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 873) TP_ARGS(currmid, hostname))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 874)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 875) DEFINE_SMB3_RECONNECT_EVENT(reconnect);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 876) DEFINE_SMB3_RECONNECT_EVENT(partial_send_reconnect);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 877)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 878) DECLARE_EVENT_CLASS(smb3_credit_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 879) TP_PROTO(__u64 currmid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 880) char *hostname,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 881) int credits,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 882) int credits_to_add),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 883) TP_ARGS(currmid, hostname, credits, credits_to_add),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 884) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 885) __field(__u64, currmid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 886) __field(char *, hostname)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 887) __field(int, credits)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 888) __field(int, credits_to_add)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 889) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 890) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 891) __entry->currmid = currmid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 892) __entry->hostname = hostname;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 893) __entry->credits = credits;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 894) __entry->credits_to_add = credits_to_add;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 895) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 896) TP_printk("server=%s current_mid=0x%llx credits=%d credits_to_add=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 897) __entry->hostname,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 898) __entry->currmid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 899) __entry->credits,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 900) __entry->credits_to_add)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 901) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 902)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 903) #define DEFINE_SMB3_CREDIT_EVENT(name) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 904) DEFINE_EVENT(smb3_credit_class, smb3_##name, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 905) TP_PROTO(__u64 currmid, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 906) char *hostname, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 907) int credits, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 908) int credits_to_add), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 909) TP_ARGS(currmid, hostname, credits, credits_to_add))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 910)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 911) DEFINE_SMB3_CREDIT_EVENT(reconnect_with_invalid_credits);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 912) DEFINE_SMB3_CREDIT_EVENT(credit_timeout);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 913) DEFINE_SMB3_CREDIT_EVENT(add_credits);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 914)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 915) #endif /* _CIFS_TRACE_H */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 916)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 917) #undef TRACE_INCLUDE_PATH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 918) #define TRACE_INCLUDE_PATH .
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 919) #define TRACE_INCLUDE_FILE trace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 920) #include <trace/define_trace.h>