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