Print this page
NEX-15682 Update dtrace scripts
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-15682 Update dtrace scripts
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
SMB-114 Should deliver SMB dtrace scripts
SMB-113 Some dtrace scripts for SMB
   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 }