1 #!/usr/sbin/dtrace -s
2 /*
3 * This file and its contents are supplied under the terms of the
4 * Common Development and Distribution License ("CDDL"), version 1.0.
5 * You may only use this file in accordance with the terms of version
6 * 1.0 of the CDDL.
7 *
8 * A full copy of the text of the CDDL should have accompanied this
9 * source. A copy of the CDDL is also available via the Internet at
10 * http://www.illumos.org/license/CDDL.
11 */
12
13 /*
14 * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
15 */
16
17 /*
18 * User-level dtrace for smbd
19 * Usage: dtrace -s ThisScript.d -p PID
20 */
21
22 #pragma D option flowindent
23
24 pid$target:fksmbd:pipesvc_worker:entry
25 {
26 self->trace++;
27 }
28 pid$target:fksmbd:pipesvc_worker:return
29 {
30 self->trace--;
31 }
32
33 pid$target:fksmbd::entry,
34 pid$target:libfksmbsrv.so.1::entry,
35 pid$target:libmlsvc.so.1::entry,
36 pid$target:libmlrpc.so.1::entry,
37 pid$target:libsmbns.so.1::entry,
38 pid$target:libsmb.so.1::entry
39 /self->trace/
40 {
41 printf("\t0x%x", arg0);
42 printf("\t0x%x", arg1);
43 printf("\t0x%x", arg2);
44 printf("\t0x%x", arg3);
45 }
46
47 pid$target:fksmbd::return,
48 pid$target:libfksmbsrv.so.1::return,
49 pid$target:libmlsvc.so.1::return,
50 pid$target:libmlrpc.so.1::return,
51 pid$target:libsmbns.so.1::return,
52 pid$target:libsmb.so.1::return
53 /self->trace/
54 {
55 printf("\t0x%x", arg1);
56 }
57
58 pid$target:libmlrpc.so.1:ndo_trace:entry
59 /self->trace/
60 {
61 printf("ndo_trace: %s", copyinstr(arg0));
62 }