1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (C) 2018, Microsoft Corporation.
8 #define TRACE_SYSTEM cifs
10 #if !defined(_CIFS_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
13 #include <linux/tracepoint.h>
16 * Please use this 3-part article as a reference for writing new tracepoints:
17 * https://lwn.net/Articles/379903/
20 /* For logging errors in read or write */
21 DECLARE_EVENT_CLASS(smb3_rw_err_class,
22 TP_PROTO(unsigned int xid,
29 TP_ARGS(xid, fid, tid, sesid, offset, len, rc),
31 __field(unsigned int, xid)
35 __field(__u64, offset)
43 __entry->sesid = sesid;
44 __entry->offset = offset;
48 TP_printk("\txid=%u sid=0x%llx tid=0x%x fid=0x%llx offset=0x%llx len=0x%x rc=%d",
49 __entry->xid, __entry->sesid, __entry->tid, __entry->fid,
50 __entry->offset, __entry->len, __entry->rc)
53 #define DEFINE_SMB3_RW_ERR_EVENT(name) \
54 DEFINE_EVENT(smb3_rw_err_class, smb3_##name, \
55 TP_PROTO(unsigned int xid, \
62 TP_ARGS(xid, fid, tid, sesid, offset, len, rc))
64 DEFINE_SMB3_RW_ERR_EVENT(write_err);
65 DEFINE_SMB3_RW_ERR_EVENT(read_err);
66 DEFINE_SMB3_RW_ERR_EVENT(query_dir_err);
67 DEFINE_SMB3_RW_ERR_EVENT(zero_err);
68 DEFINE_SMB3_RW_ERR_EVENT(falloc_err);
71 /* For logging successful read or write */
72 DECLARE_EVENT_CLASS(smb3_rw_done_class,
73 TP_PROTO(unsigned int xid,
79 TP_ARGS(xid, fid, tid, sesid, offset, len),
81 __field(unsigned int, xid)
85 __field(__u64, offset)
92 __entry->sesid = sesid;
93 __entry->offset = offset;
96 TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx offset=0x%llx len=0x%x",
97 __entry->xid, __entry->sesid, __entry->tid, __entry->fid,
98 __entry->offset, __entry->len)
101 #define DEFINE_SMB3_RW_DONE_EVENT(name) \
102 DEFINE_EVENT(smb3_rw_done_class, smb3_##name, \
103 TP_PROTO(unsigned int xid, \
109 TP_ARGS(xid, fid, tid, sesid, offset, len))
111 DEFINE_SMB3_RW_DONE_EVENT(write_enter);
112 DEFINE_SMB3_RW_DONE_EVENT(read_enter);
113 DEFINE_SMB3_RW_DONE_EVENT(query_dir_enter);
114 DEFINE_SMB3_RW_DONE_EVENT(zero_enter);
115 DEFINE_SMB3_RW_DONE_EVENT(falloc_enter);
116 DEFINE_SMB3_RW_DONE_EVENT(write_done);
117 DEFINE_SMB3_RW_DONE_EVENT(read_done);
118 DEFINE_SMB3_RW_DONE_EVENT(query_dir_done);
119 DEFINE_SMB3_RW_DONE_EVENT(zero_done);
120 DEFINE_SMB3_RW_DONE_EVENT(falloc_done);
123 * For handle based calls other than read and write, and get/set info
125 DECLARE_EVENT_CLASS(smb3_fd_class,
126 TP_PROTO(unsigned int xid,
130 TP_ARGS(xid, fid, tid, sesid),
132 __field(unsigned int, xid)
135 __field(__u64, sesid)
141 __entry->sesid = sesid;
143 TP_printk("\txid=%u sid=0x%llx tid=0x%x fid=0x%llx",
144 __entry->xid, __entry->sesid, __entry->tid, __entry->fid)
147 #define DEFINE_SMB3_FD_EVENT(name) \
148 DEFINE_EVENT(smb3_fd_class, smb3_##name, \
149 TP_PROTO(unsigned int xid, \
153 TP_ARGS(xid, fid, tid, sesid))
155 DEFINE_SMB3_FD_EVENT(flush_enter);
156 DEFINE_SMB3_FD_EVENT(flush_done);
157 DEFINE_SMB3_FD_EVENT(close_enter);
158 DEFINE_SMB3_FD_EVENT(close_done);
160 DECLARE_EVENT_CLASS(smb3_fd_err_class,
161 TP_PROTO(unsigned int xid,
166 TP_ARGS(xid, fid, tid, sesid, rc),
168 __field(unsigned int, xid)
171 __field(__u64, sesid)
178 __entry->sesid = sesid;
181 TP_printk("\txid=%u sid=0x%llx tid=0x%x fid=0x%llx rc=%d",
182 __entry->xid, __entry->sesid, __entry->tid, __entry->fid,
186 #define DEFINE_SMB3_FD_ERR_EVENT(name) \
187 DEFINE_EVENT(smb3_fd_err_class, smb3_##name, \
188 TP_PROTO(unsigned int xid, \
193 TP_ARGS(xid, fid, tid, sesid, rc))
195 DEFINE_SMB3_FD_ERR_EVENT(flush_err);
196 DEFINE_SMB3_FD_ERR_EVENT(lock_err);
197 DEFINE_SMB3_FD_ERR_EVENT(close_err);
200 * For handle based query/set info calls
202 DECLARE_EVENT_CLASS(smb3_inf_enter_class,
203 TP_PROTO(unsigned int xid,
209 TP_ARGS(xid, fid, tid, sesid, infclass, type),
211 __field(unsigned int, xid)
214 __field(__u64, sesid)
215 __field(__u8, infclass)
222 __entry->sesid = sesid;
223 __entry->infclass = infclass;
224 __entry->type = type;
226 TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx class=%u type=0x%x",
227 __entry->xid, __entry->sesid, __entry->tid, __entry->fid,
228 __entry->infclass, __entry->type)
231 #define DEFINE_SMB3_INF_ENTER_EVENT(name) \
232 DEFINE_EVENT(smb3_inf_enter_class, smb3_##name, \
233 TP_PROTO(unsigned int xid, \
239 TP_ARGS(xid, fid, tid, sesid, infclass, type))
241 DEFINE_SMB3_INF_ENTER_EVENT(query_info_enter);
242 DEFINE_SMB3_INF_ENTER_EVENT(query_info_done);
243 DEFINE_SMB3_INF_ENTER_EVENT(notify_enter);
244 DEFINE_SMB3_INF_ENTER_EVENT(notify_done);
246 DECLARE_EVENT_CLASS(smb3_inf_err_class,
247 TP_PROTO(unsigned int xid,
254 TP_ARGS(xid, fid, tid, sesid, infclass, type, rc),
256 __field(unsigned int, xid)
259 __field(__u64, sesid)
260 __field(__u8, infclass)
268 __entry->sesid = sesid;
269 __entry->infclass = infclass;
270 __entry->type = type;
273 TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx class=%u type=0x%x rc=%d",
274 __entry->xid, __entry->sesid, __entry->tid, __entry->fid,
275 __entry->infclass, __entry->type, __entry->rc)
278 #define DEFINE_SMB3_INF_ERR_EVENT(name) \
279 DEFINE_EVENT(smb3_inf_err_class, smb3_##name, \
280 TP_PROTO(unsigned int xid, \
287 TP_ARGS(xid, fid, tid, sesid, infclass, type, rc))
289 DEFINE_SMB3_INF_ERR_EVENT(query_info_err);
290 DEFINE_SMB3_INF_ERR_EVENT(set_info_err);
291 DEFINE_SMB3_INF_ERR_EVENT(notify_err);
292 DEFINE_SMB3_INF_ERR_EVENT(fsctl_err);
294 DECLARE_EVENT_CLASS(smb3_inf_compound_enter_class,
295 TP_PROTO(unsigned int xid,
298 const char *full_path),
299 TP_ARGS(xid, tid, sesid, full_path),
301 __field(unsigned int, xid)
303 __field(__u64, sesid)
304 __string(path, full_path)
309 __entry->sesid = sesid;
310 __assign_str(path, full_path);
312 TP_printk("xid=%u sid=0x%llx tid=0x%x path=%s",
313 __entry->xid, __entry->sesid, __entry->tid,
317 #define DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(name) \
318 DEFINE_EVENT(smb3_inf_compound_enter_class, smb3_##name, \
319 TP_PROTO(unsigned int xid, \
322 const char *full_path), \
323 TP_ARGS(xid, tid, sesid, full_path))
325 DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(query_info_compound_enter);
326 DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(posix_query_info_compound_enter);
327 DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(hardlink_enter);
328 DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(rename_enter);
329 DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(rmdir_enter);
330 DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(set_eof_enter);
331 DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(set_info_compound_enter);
332 DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(delete_enter);
333 DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(mkdir_enter);
336 DECLARE_EVENT_CLASS(smb3_inf_compound_done_class,
337 TP_PROTO(unsigned int xid,
340 TP_ARGS(xid, tid, sesid),
342 __field(unsigned int, xid)
344 __field(__u64, sesid)
349 __entry->sesid = sesid;
351 TP_printk("xid=%u sid=0x%llx tid=0x%x",
352 __entry->xid, __entry->sesid, __entry->tid)
355 #define DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(name) \
356 DEFINE_EVENT(smb3_inf_compound_done_class, smb3_##name, \
357 TP_PROTO(unsigned int xid, \
360 TP_ARGS(xid, tid, sesid))
362 DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(query_info_compound_done);
363 DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(posix_query_info_compound_done);
364 DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(hardlink_done);
365 DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(rename_done);
366 DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(rmdir_done);
367 DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(set_eof_done);
368 DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(set_info_compound_done);
369 DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(delete_done);
370 DEFINE_SMB3_INF_COMPOUND_DONE_EVENT(mkdir_done);
373 DECLARE_EVENT_CLASS(smb3_inf_compound_err_class,
374 TP_PROTO(unsigned int xid,
378 TP_ARGS(xid, tid, sesid, rc),
380 __field(unsigned int, xid)
382 __field(__u64, sesid)
388 __entry->sesid = sesid;
391 TP_printk("xid=%u sid=0x%llx tid=0x%x rc=%d",
392 __entry->xid, __entry->sesid, __entry->tid,
396 #define DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(name) \
397 DEFINE_EVENT(smb3_inf_compound_err_class, smb3_##name, \
398 TP_PROTO(unsigned int xid, \
402 TP_ARGS(xid, tid, sesid, rc))
404 DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(query_info_compound_err);
405 DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(posix_query_info_compound_err);
406 DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(hardlink_err);
407 DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(rename_err);
408 DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(rmdir_err);
409 DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(set_eof_err);
410 DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(set_info_compound_err);
411 DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(mkdir_err);
412 DEFINE_SMB3_INF_COMPOUND_ERR_EVENT(delete_err);
415 * For logging SMB3 Status code and Command for responses which return errors
417 DECLARE_EVENT_CLASS(smb3_cmd_err_class,
424 TP_ARGS(tid, sesid, cmd, mid, status, rc),
427 __field(__u64, sesid)
430 __field(__u32, status)
435 __entry->sesid = sesid;
438 __entry->status = status;
441 TP_printk("\tsid=0x%llx tid=0x%x cmd=%u mid=%llu status=0x%x rc=%d",
442 __entry->sesid, __entry->tid, __entry->cmd, __entry->mid,
443 __entry->status, __entry->rc)
446 #define DEFINE_SMB3_CMD_ERR_EVENT(name) \
447 DEFINE_EVENT(smb3_cmd_err_class, smb3_##name, \
448 TP_PROTO(__u32 tid, \
454 TP_ARGS(tid, sesid, cmd, mid, status, rc))
456 DEFINE_SMB3_CMD_ERR_EVENT(cmd_err);
458 DECLARE_EVENT_CLASS(smb3_cmd_done_class,
463 TP_ARGS(tid, sesid, cmd, mid),
466 __field(__u64, sesid)
472 __entry->sesid = sesid;
476 TP_printk("\tsid=0x%llx tid=0x%x cmd=%u mid=%llu",
477 __entry->sesid, __entry->tid,
478 __entry->cmd, __entry->mid)
481 #define DEFINE_SMB3_CMD_DONE_EVENT(name) \
482 DEFINE_EVENT(smb3_cmd_done_class, smb3_##name, \
483 TP_PROTO(__u32 tid, \
487 TP_ARGS(tid, sesid, cmd, mid))
489 DEFINE_SMB3_CMD_DONE_EVENT(cmd_enter);
490 DEFINE_SMB3_CMD_DONE_EVENT(cmd_done);
491 DEFINE_SMB3_CMD_DONE_EVENT(ses_expired);
493 DECLARE_EVENT_CLASS(smb3_mid_class,
497 unsigned long when_sent,
498 unsigned long when_received),
499 TP_ARGS(cmd, mid, pid, when_sent, when_received),
504 __field(unsigned long, when_sent)
505 __field(unsigned long, when_received)
511 __entry->when_sent = when_sent;
512 __entry->when_received = when_received;
514 TP_printk("\tcmd=%u mid=%llu pid=%u, when_sent=%lu when_rcv=%lu",
515 __entry->cmd, __entry->mid, __entry->pid, __entry->when_sent,
516 __entry->when_received)
519 #define DEFINE_SMB3_MID_EVENT(name) \
520 DEFINE_EVENT(smb3_mid_class, smb3_##name, \
521 TP_PROTO(__u16 cmd, \
524 unsigned long when_sent, \
525 unsigned long when_received), \
526 TP_ARGS(cmd, mid, pid, when_sent, when_received))
528 DEFINE_SMB3_MID_EVENT(slow_rsp);
530 DECLARE_EVENT_CLASS(smb3_exit_err_class,
531 TP_PROTO(unsigned int xid,
532 const char *func_name,
534 TP_ARGS(xid, func_name, rc),
536 __field(unsigned int, xid)
537 __string(func_name, func_name)
542 __assign_str(func_name, func_name);
545 TP_printk("\t%s: xid=%u rc=%d",
546 __get_str(func_name), __entry->xid, __entry->rc)
549 #define DEFINE_SMB3_EXIT_ERR_EVENT(name) \
550 DEFINE_EVENT(smb3_exit_err_class, smb3_##name, \
551 TP_PROTO(unsigned int xid, \
552 const char *func_name, \
554 TP_ARGS(xid, func_name, rc))
556 DEFINE_SMB3_EXIT_ERR_EVENT(exit_err);
559 DECLARE_EVENT_CLASS(smb3_sync_err_class,
560 TP_PROTO(unsigned long ino,
564 __field(unsigned long, ino)
571 TP_printk("\tino=%lu rc=%d",
572 __entry->ino, __entry->rc)
575 #define DEFINE_SMB3_SYNC_ERR_EVENT(name) \
576 DEFINE_EVENT(smb3_sync_err_class, cifs_##name, \
577 TP_PROTO(unsigned long ino, \
581 DEFINE_SMB3_SYNC_ERR_EVENT(fsync_err);
582 DEFINE_SMB3_SYNC_ERR_EVENT(flush_err);
585 DECLARE_EVENT_CLASS(smb3_enter_exit_class,
586 TP_PROTO(unsigned int xid,
587 const char *func_name),
588 TP_ARGS(xid, func_name),
590 __field(unsigned int, xid)
591 __string(func_name, func_name)
595 __assign_str(func_name, func_name);
597 TP_printk("\t%s: xid=%u",
598 __get_str(func_name), __entry->xid)
601 #define DEFINE_SMB3_ENTER_EXIT_EVENT(name) \
602 DEFINE_EVENT(smb3_enter_exit_class, smb3_##name, \
603 TP_PROTO(unsigned int xid, \
604 const char *func_name), \
605 TP_ARGS(xid, func_name))
607 DEFINE_SMB3_ENTER_EXIT_EVENT(enter);
608 DEFINE_SMB3_ENTER_EXIT_EVENT(exit_done);
611 * For SMB2/SMB3 tree connect
614 DECLARE_EVENT_CLASS(smb3_tcon_class,
615 TP_PROTO(unsigned int xid,
618 const char *unc_name,
620 TP_ARGS(xid, tid, sesid, unc_name, rc),
622 __field(unsigned int, xid)
624 __field(__u64, sesid)
625 __string(name, unc_name)
631 __entry->sesid = sesid;
632 __assign_str(name, unc_name);
635 TP_printk("xid=%u sid=0x%llx tid=0x%x unc_name=%s rc=%d",
636 __entry->xid, __entry->sesid, __entry->tid,
637 __get_str(name), __entry->rc)
640 #define DEFINE_SMB3_TCON_EVENT(name) \
641 DEFINE_EVENT(smb3_tcon_class, smb3_##name, \
642 TP_PROTO(unsigned int xid, \
645 const char *unc_name, \
647 TP_ARGS(xid, tid, sesid, unc_name, rc))
649 DEFINE_SMB3_TCON_EVENT(tcon);
653 * For smb2/smb3 open (including create and mkdir) calls
656 DECLARE_EVENT_CLASS(smb3_open_enter_class,
657 TP_PROTO(unsigned int xid,
662 TP_ARGS(xid, tid, sesid, create_options, desired_access),
664 __field(unsigned int, xid)
666 __field(__u64, sesid)
667 __field(int, create_options)
668 __field(int, desired_access)
673 __entry->sesid = sesid;
674 __entry->create_options = create_options;
675 __entry->desired_access = desired_access;
677 TP_printk("xid=%u sid=0x%llx tid=0x%x cr_opts=0x%x des_access=0x%x",
678 __entry->xid, __entry->sesid, __entry->tid,
679 __entry->create_options, __entry->desired_access)
682 #define DEFINE_SMB3_OPEN_ENTER_EVENT(name) \
683 DEFINE_EVENT(smb3_open_enter_class, smb3_##name, \
684 TP_PROTO(unsigned int xid, \
687 int create_options, \
688 int desired_access), \
689 TP_ARGS(xid, tid, sesid, create_options, desired_access))
691 DEFINE_SMB3_OPEN_ENTER_EVENT(open_enter);
692 DEFINE_SMB3_OPEN_ENTER_EVENT(posix_mkdir_enter);
694 DECLARE_EVENT_CLASS(smb3_open_err_class,
695 TP_PROTO(unsigned int xid,
701 TP_ARGS(xid, tid, sesid, create_options, desired_access, rc),
703 __field(unsigned int, xid)
705 __field(__u64, sesid)
706 __field(int, create_options)
707 __field(int, desired_access)
713 __entry->sesid = sesid;
714 __entry->create_options = create_options;
715 __entry->desired_access = desired_access;
718 TP_printk("xid=%u sid=0x%llx tid=0x%x cr_opts=0x%x des_access=0x%x rc=%d",
719 __entry->xid, __entry->sesid, __entry->tid,
720 __entry->create_options, __entry->desired_access, __entry->rc)
723 #define DEFINE_SMB3_OPEN_ERR_EVENT(name) \
724 DEFINE_EVENT(smb3_open_err_class, smb3_##name, \
725 TP_PROTO(unsigned int xid, \
728 int create_options, \
729 int desired_access, \
731 TP_ARGS(xid, tid, sesid, create_options, desired_access, rc))
733 DEFINE_SMB3_OPEN_ERR_EVENT(open_err);
734 DEFINE_SMB3_OPEN_ERR_EVENT(posix_mkdir_err);
736 DECLARE_EVENT_CLASS(smb3_open_done_class,
737 TP_PROTO(unsigned int xid,
743 TP_ARGS(xid, fid, tid, sesid, create_options, desired_access),
745 __field(unsigned int, xid)
748 __field(__u64, sesid)
749 __field(int, create_options)
750 __field(int, desired_access)
756 __entry->sesid = sesid;
757 __entry->create_options = create_options;
758 __entry->desired_access = desired_access;
760 TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx cr_opts=0x%x des_access=0x%x",
761 __entry->xid, __entry->sesid, __entry->tid, __entry->fid,
762 __entry->create_options, __entry->desired_access)
765 #define DEFINE_SMB3_OPEN_DONE_EVENT(name) \
766 DEFINE_EVENT(smb3_open_done_class, smb3_##name, \
767 TP_PROTO(unsigned int xid, \
771 int create_options, \
772 int desired_access), \
773 TP_ARGS(xid, fid, tid, sesid, create_options, desired_access))
775 DEFINE_SMB3_OPEN_DONE_EVENT(open_done);
776 DEFINE_SMB3_OPEN_DONE_EVENT(posix_mkdir_done);
779 DECLARE_EVENT_CLASS(smb3_lease_done_class,
780 TP_PROTO(__u32 lease_state,
784 __u64 lease_key_high),
785 TP_ARGS(lease_state, tid, sesid, lease_key_low, lease_key_high),
787 __field(__u32, lease_state)
789 __field(__u64, sesid)
790 __field(__u64, lease_key_low)
791 __field(__u64, lease_key_high)
794 __entry->lease_state = lease_state;
796 __entry->sesid = sesid;
797 __entry->lease_key_low = lease_key_low;
798 __entry->lease_key_high = lease_key_high;
800 TP_printk("sid=0x%llx tid=0x%x lease_key=0x%llx%llx lease_state=0x%x",
801 __entry->sesid, __entry->tid, __entry->lease_key_high,
802 __entry->lease_key_low, __entry->lease_state)
805 #define DEFINE_SMB3_LEASE_DONE_EVENT(name) \
806 DEFINE_EVENT(smb3_lease_done_class, smb3_##name, \
807 TP_PROTO(__u32 lease_state, \
810 __u64 lease_key_low, \
811 __u64 lease_key_high), \
812 TP_ARGS(lease_state, tid, sesid, lease_key_low, lease_key_high))
814 DEFINE_SMB3_LEASE_DONE_EVENT(lease_done);
816 DECLARE_EVENT_CLASS(smb3_lease_err_class,
817 TP_PROTO(__u32 lease_state,
821 __u64 lease_key_high,
823 TP_ARGS(lease_state, tid, sesid, lease_key_low, lease_key_high, rc),
825 __field(__u32, lease_state)
827 __field(__u64, sesid)
828 __field(__u64, lease_key_low)
829 __field(__u64, lease_key_high)
833 __entry->lease_state = lease_state;
835 __entry->sesid = sesid;
836 __entry->lease_key_low = lease_key_low;
837 __entry->lease_key_high = lease_key_high;
840 TP_printk("sid=0x%llx tid=0x%x lease_key=0x%llx%llx lease_state=0x%x rc=%d",
841 __entry->sesid, __entry->tid, __entry->lease_key_high,
842 __entry->lease_key_low, __entry->lease_state, __entry->rc)
845 #define DEFINE_SMB3_LEASE_ERR_EVENT(name) \
846 DEFINE_EVENT(smb3_lease_err_class, smb3_##name, \
847 TP_PROTO(__u32 lease_state, \
850 __u64 lease_key_low, \
851 __u64 lease_key_high, \
853 TP_ARGS(lease_state, tid, sesid, lease_key_low, lease_key_high, rc))
855 DEFINE_SMB3_LEASE_ERR_EVENT(lease_err);
857 DECLARE_EVENT_CLASS(smb3_reconnect_class,
858 TP_PROTO(__u64 currmid,
861 TP_ARGS(currmid, conn_id, hostname),
863 __field(__u64, currmid)
864 __field(__u64, conn_id)
865 __string(hostname, hostname)
868 __entry->currmid = currmid;
869 __entry->conn_id = conn_id;
870 __assign_str(hostname, hostname);
872 TP_printk("conn_id=0x%llx server=%s current_mid=%llu",
878 #define DEFINE_SMB3_RECONNECT_EVENT(name) \
879 DEFINE_EVENT(smb3_reconnect_class, smb3_##name, \
880 TP_PROTO(__u64 currmid, \
883 TP_ARGS(currmid, conn_id, hostname))
885 DEFINE_SMB3_RECONNECT_EVENT(reconnect);
886 DEFINE_SMB3_RECONNECT_EVENT(partial_send_reconnect);
888 DECLARE_EVENT_CLASS(smb3_credit_class,
889 TP_PROTO(__u64 currmid,
895 TP_ARGS(currmid, conn_id, hostname, credits, credits_to_add, in_flight),
897 __field(__u64, currmid)
898 __field(__u64, conn_id)
899 __string(hostname, hostname)
900 __field(int, credits)
901 __field(int, credits_to_add)
902 __field(int, in_flight)
905 __entry->currmid = currmid;
906 __entry->conn_id = conn_id;
907 __assign_str(hostname, hostname);
908 __entry->credits = credits;
909 __entry->credits_to_add = credits_to_add;
910 __entry->in_flight = in_flight;
912 TP_printk("conn_id=0x%llx server=%s current_mid=%llu "
913 "credits=%d credit_change=%d in_flight=%d",
918 __entry->credits_to_add,
922 #define DEFINE_SMB3_CREDIT_EVENT(name) \
923 DEFINE_EVENT(smb3_credit_class, smb3_##name, \
924 TP_PROTO(__u64 currmid, \
928 int credits_to_add, \
930 TP_ARGS(currmid, conn_id, hostname, credits, credits_to_add, in_flight))
932 DEFINE_SMB3_CREDIT_EVENT(reconnect_with_invalid_credits);
933 DEFINE_SMB3_CREDIT_EVENT(reconnect_detected);
934 DEFINE_SMB3_CREDIT_EVENT(credit_timeout);
935 DEFINE_SMB3_CREDIT_EVENT(insufficient_credits);
936 DEFINE_SMB3_CREDIT_EVENT(too_many_credits);
937 DEFINE_SMB3_CREDIT_EVENT(add_credits);
938 DEFINE_SMB3_CREDIT_EVENT(set_credits);
940 #endif /* _CIFS_TRACE_H */
942 #undef TRACE_INCLUDE_PATH
943 #define TRACE_INCLUDE_PATH .
944 #define TRACE_INCLUDE_FILE trace
945 #include <trace/define_trace.h>