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>
NEX-3620 need upstream cleanups for smbsrv
Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
SMB-95 improve smbsrv developer tools
SMB-50 User-mode SMB server
 Includes work by these authors:
 Thomas Keiser <thomas.keiser@nexenta.com>
 Albert Lee <trisk@nexenta.com>
        
*** 9,28 ****
   * source.  A copy of the CDDL is also available via the Internet at
   * http://www.illumos.org/license/CDDL.
   */
  
  /*
!  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
   */
  
  /*
   * User-level dtrace for fksmbd
   * Usage: dtrace -s Watch-all.d -p $PID
   */
  
- #pragma D option flowindent
- 
  self int trace;
  self int mask;
  
  /*
   * Trace almost everything
--- 9,26 ----
   * source.  A copy of the CDDL is also available via the Internet at
   * http://www.illumos.org/license/CDDL.
   */
  
  /*
!  * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
   */
  
  /*
   * User-level dtrace for fksmbd
   * Usage: dtrace -s Watch-all.d -p $PID
   */
  
  self int trace;
  self int mask;
  
  /*
   * Trace almost everything
*** 50,59 ****
--- 48,59 ----
  {
          printf("\t0x%x", arg0);
          printf("\t0x%x", arg1);
          printf("\t0x%x", arg2);
          printf("\t0x%x", arg3);
+         printf("\t0x%x", arg4);
+         printf("\t0x%x", arg5);
  }
  
  /*
   * Mask (don't print) all function calls below these functions.
   * These make many boring, repetitive function calls like
*** 106,111 ****
--- 106,161 ----
  pid$target:libmlrpc.so.1::return,
  pid$target:libsmbns.so.1::return,
  pid$target:libsmb.so.1::return
  {
          self->trace--;
+ }
+ 
+ /*
+  * fksmb dtrace provder
+  */
+ 
+ fksmb$target:::smb_start
+ {
+         this->pn = copyinstr(arg0);
+         this->sr = (userland pid`smb_request_t *)arg1;
+ 
+         printf(" %s mid=0x%x uid=0x%x tid=0x%x\n",
+             this->pn,
+             this->sr->smb_mid,
+             this->sr->smb_uid,
+             this->sr->smb_tid);
+ }
+ 
+ fksmb$target:::smb_done
+ {
+         this->pn = copyinstr(arg0);
+         this->sr = (userland pid`smb_request_t *)arg1;
+ 
+         printf(" %s mid=0x%x status=0x%x\n",
+             this->pn,
+             this->sr->smb_mid,
+             this->sr->smb_error.status);
+ }
+ 
+ fksmb$target:::smb2_start
+ {
+         this->pn = copyinstr(arg0);
+         this->sr = (userland pid`smb_request_t *)arg1;
+ 
+         printf(" %s mid=0x%x uid=0x%x tid=0x%x\n",
+             this->pn,
+             this->sr->smb2_messageid,
+             this->sr->smb2_ssnid,
+             this->sr->smb_tid);
+ }
+ 
+ fksmb$target:::smb2_done
+ {
+         this->pn = copyinstr(arg0);
+         this->sr = (userland pid`smb_request_t *)arg1;
+ 
+         printf(" %s mid=0x%x status=0x%x\n",
+             this->pn,
+             this->sr->smb2_messageid,
+             this->sr->smb2_status);
  }