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 2014 Nexenta Systems, Inc. All rights reserved.
15 */
16
17 /*
18 * Developer dtrace program for smbsrv
19 * Usage: dtrace -s smbsrv.d
20 */
21
22 #pragma D option flowindent
23
24 self int trace;
25 self int mask;
26
27 /*
28 * Trace almost everything
29 */
30 fbt:smbsrv::entry
31 {
32 self->trace++;
33 }
34
35 /*
36 * If traced and not masked, print entry/return
37 */
38 fbt:smbsrv::entry
39 /self->trace > 0 && self->mask == 0/
40 {
41 printf("\t0x%x", arg0);
42 printf("\t0x%x", arg1);
43 printf("\t0x%x", arg2);
69 fbt::smb_mbc_vdecodef:return,
70 fbt::smb_mbc_vencodef:return,
71 fbt::smb_msgbuf_decode:return,
72 fbt::smb_msgbuf_encode:return,
73 fbt::smb_strlwr:return,
74 fbt::smb_strupr:return,
75 fbt::smb_wcequiv_strlen:return
76 {
77 self->mask--;
78 }
79
80 fbt:smbsrv::return
81 /self->trace > 0 && self->mask == 0/
82 {
83 printf("\t0x%x", arg1);
84 }
85
86 fbt:smbsrv::return
87 {
88 self->trace--;
89 }
|
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 2017 Nexenta Systems, Inc. All rights reserved.
15 */
16
17 /*
18 * Developer dtrace program for smbsrv
19 * Usage: dtrace -s smbsrv.d
20 */
21
22 self int trace;
23 self int mask;
24
25 /*
26 * Trace almost everything
27 */
28 fbt:smbsrv::entry
29 {
30 self->trace++;
31 }
32
33 /*
34 * If traced and not masked, print entry/return
35 */
36 fbt:smbsrv::entry
37 /self->trace > 0 && self->mask == 0/
38 {
39 printf("\t0x%x", arg0);
40 printf("\t0x%x", arg1);
41 printf("\t0x%x", arg2);
67 fbt::smb_mbc_vdecodef:return,
68 fbt::smb_mbc_vencodef:return,
69 fbt::smb_msgbuf_decode:return,
70 fbt::smb_msgbuf_encode:return,
71 fbt::smb_strlwr:return,
72 fbt::smb_strupr:return,
73 fbt::smb_wcequiv_strlen:return
74 {
75 self->mask--;
76 }
77
78 fbt:smbsrv::return
79 /self->trace > 0 && self->mask == 0/
80 {
81 printf("\t0x%x", arg1);
82 }
83
84 fbt:smbsrv::return
85 {
86 self->trace--;
87 }
88
89 /*
90 * Use the "smb" dtrace provider.
91 */
92
93 smb:::op-CheckDirectory-start,
94 smb:::op-Close-start,
95 smb:::op-CloseAndTreeDisconnect-start,
96 smb:::op-ClosePrintFile-start,
97 smb:::op-Create-start,
98 smb:::op-CreateDirectory-start,
99 smb:::op-CreateNew-start,
100 smb:::op-CreateTemporary-start,
101 smb:::op-Delete-start,
102 smb:::op-DeleteDirectory-start,
103 smb:::op-Echo-start,
104 smb:::op-Find-start,
105 smb:::op-FindClose-start,
106 smb:::op-FindClose2-start,
107 smb:::op-FindUnique-start,
108 smb:::op-Flush-start,
109 smb:::op-GetPrintQueue-start,
110 smb:::op-Invalid-start,
111 smb:::op-Ioctl-start,
112 smb:::op-LockAndRead-start,
113 smb:::op-LockByteRange-start,
114 smb:::op-LockingX-start,
115 smb:::op-LogoffX-start,
116 smb:::op-Negotiate-start,
117 smb:::op-NtCancel-start,
118 smb:::op-NtCreateX-start,
119 smb:::op-NtRename-start,
120 smb:::op-NtTransact-start,
121 smb:::op-NtTransactCreate-start,
122 smb:::op-NtTransactSecondary-start,
123 smb:::op-Open-start,
124 smb:::op-OpenPrintFile-start,
125 smb:::op-OpenX-start,
126 smb:::op-ProcessExit-start,
127 smb:::op-QueryInformation-start,
128 smb:::op-QueryInformation2-start,
129 smb:::op-QueryInformationDisk-start,
130 smb:::op-Read-start,
131 smb:::op-ReadRaw-start,
132 smb:::op-ReadX-start,
133 smb:::op-Rename-start,
134 smb:::op-Search-start,
135 smb:::op-Seek-start,
136 smb:::op-SessionSetupX-start,
137 smb:::op-SetInformation-start,
138 smb:::op-SetInformation2-start,
139 smb:::op-Transaction-start,
140 smb:::op-Transaction2-start,
141 smb:::op-Transaction2Secondary-start,
142 smb:::op-TransactionSecondary-start,
143 smb:::op-TreeConnect-start,
144 smb:::op-TreeConnectX-start,
145 smb:::op-TreeDisconnect-start,
146 smb:::op-UnlockByteRange-start,
147 smb:::op-Write-start,
148 smb:::op-WriteAndClose-start,
149 smb:::op-WriteAndUnlock-start,
150 smb:::op-WritePrintFile-start,
151 smb:::op-WriteRaw-start,
152 smb:::op-WriteX-start
153 {
154 printf("clnt=%s mid=0x%x uid=0x%x tid=0x%x\n",
155 args[0]->ci_remote,
156 args[1]->soi_mid,
157 args[1]->soi_uid,
158 args[1]->soi_tid);
159 }
160
161 smb:::op-CheckDirectory-done,
162 smb:::op-Close-done,
163 smb:::op-CloseAndTreeDisconnect-done,
164 smb:::op-ClosePrintFile-done,
165 smb:::op-Create-done,
166 smb:::op-CreateDirectory-done,
167 smb:::op-CreateNew-done,
168 smb:::op-CreateTemporary-done,
169 smb:::op-Delete-done,
170 smb:::op-DeleteDirectory-done,
171 smb:::op-Echo-done,
172 smb:::op-Find-done,
173 smb:::op-FindClose-done,
174 smb:::op-FindClose2-done,
175 smb:::op-FindUnique-done,
176 smb:::op-Flush-done,
177 smb:::op-GetPrintQueue-done,
178 smb:::op-Invalid-done,
179 smb:::op-Ioctl-done,
180 smb:::op-LockAndRead-done,
181 smb:::op-LockByteRange-done,
182 smb:::op-LockingX-done,
183 smb:::op-LogoffX-done,
184 smb:::op-Negotiate-done,
185 smb:::op-NtCancel-done,
186 smb:::op-NtCreateX-done,
187 smb:::op-NtRename-done,
188 smb:::op-NtTransact-done,
189 smb:::op-NtTransactCreate-done,
190 smb:::op-NtTransactSecondary-done,
191 smb:::op-Open-done,
192 smb:::op-OpenPrintFile-done,
193 smb:::op-OpenX-done,
194 smb:::op-ProcessExit-done,
195 smb:::op-QueryInformation-done,
196 smb:::op-QueryInformation2-done,
197 smb:::op-QueryInformationDisk-done,
198 smb:::op-Read-done,
199 smb:::op-ReadRaw-done,
200 smb:::op-ReadX-done,
201 smb:::op-Rename-done,
202 smb:::op-Search-done,
203 smb:::op-Seek-done,
204 smb:::op-SessionSetupX-done,
205 smb:::op-SetInformation-done,
206 smb:::op-SetInformation2-done,
207 smb:::op-Transaction-done,
208 smb:::op-Transaction2-done,
209 smb:::op-Transaction2Secondary-done,
210 smb:::op-TransactionSecondary-done,
211 smb:::op-TreeConnect-done,
212 smb:::op-TreeConnectX-done,
213 smb:::op-TreeDisconnect-done,
214 smb:::op-UnlockByteRange-done,
215 smb:::op-Write-done,
216 smb:::op-WriteAndClose-done,
217 smb:::op-WriteAndUnlock-done,
218 smb:::op-WritePrintFile-done,
219 smb:::op-WriteRaw-done,
220 smb:::op-WriteX-done
221 {
222 printf("clnt=%s mid=0x%x status=0x%x\n",
223 args[0]->ci_remote,
224 args[1]->soi_mid,
225 args[1]->soi_status);
226 }
227
228 /*
229 * Use the "smb2" dtrace provider.
230 */
231
232 smb2:::op-Cancel-start,
233 smb2:::op-ChangeNotify-start,
234 smb2:::op-Close-start,
235 smb2:::op-Create-start,
236 smb2:::op-Echo-start,
237 smb2:::op-Flush-start,
238 smb2:::op-Ioctl-start,
239 smb2:::op-Lock-start,
240 smb2:::op-Logoff-start,
241 smb2:::op-Negotiate-start,
242 smb2:::op-OplockBreak-start,
243 smb2:::op-QueryDirectory-start,
244 smb2:::op-QueryInfo-start,
245 smb2:::op-Read-start,
246 smb2:::op-SessionSetup-start,
247 smb2:::op-SetInfo-start,
248 smb2:::op-TreeConnect-start,
249 smb2:::op-TreeDisconnect-start,
250 smb2:::op-Write-start
251 {
252 printf("clnt=%s mid=0x%x uid=0x%x tid=0x%x\n",
253 args[0]->ci_remote,
254 args[1]->soi_mid,
255 args[1]->soi_uid,
256 args[1]->soi_tid);
257 }
258
259 smb2:::op-Cancel-done,
260 smb2:::op-ChangeNotify-done,
261 smb2:::op-Close-done,
262 smb2:::op-Create-done,
263 smb2:::op-Echo-done,
264 smb2:::op-Flush-done,
265 smb2:::op-Ioctl-done,
266 smb2:::op-Lock-done,
267 smb2:::op-Logoff-done,
268 smb2:::op-Negotiate-done,
269 smb2:::op-OplockBreak-done,
270 smb2:::op-QueryDirectory-done,
271 smb2:::op-QueryInfo-done,
272 smb2:::op-Read-done,
273 smb2:::op-SessionSetup-done,
274 smb2:::op-SetInfo-done,
275 smb2:::op-TreeConnect-done,
276 smb2:::op-TreeDisconnect-done,
277 smb2:::op-Write-done
278 {
279 printf("clnt=%s mid=0x%x status=0x%x\n",
280 args[0]->ci_remote,
281 args[1]->soi_mid,
282 args[1]->soi_status);
283 }
|