Print this page
NEX-1643 dtrace provider for smbsrv
Also illumos 1841:
 DTrace smb provider was mis-implemented, doesn't exist.
Add back handlers for read/write raw, so that
 legacy dtrace consumers can find the probes.
Kill extra arg in smb_negotiate
Fix missing "done" probe with smb_notify
Add example consumer: smb-trace.d
fix soi_pid

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/smbsrv/smb_tree_connect.c
          +++ new/usr/src/uts/common/fs/smbsrv/smb_tree_connect.c
↓ open down ↓ 92 lines elided ↑ open up ↑
  93   93  
  94   94          /*
  95   95           * Perhaps this should be "%A.sA" now that unicode is enabled.
  96   96           */
  97   97          rc = smbsr_decode_data(sr, "%AAA", sr, &tcon->path,
  98   98              &tcon->password, &tcon->service);
  99   99  
 100  100          tcon->flags = 0;
 101  101          tcon->optional_support = 0;
 102  102  
 103      -        DTRACE_SMB_2(op__TreeConnect__start, smb_request_t *, sr,
 104      -            smb_arg_tcon_t *, tcon);
      103 +        DTRACE_SMB_1(op__TreeConnect__start, smb_request_t *, sr);
 105  104  
 106  105          return ((rc == 0) ? SDRC_SUCCESS : SDRC_ERROR);
 107  106  }
 108  107  
 109  108  void
 110  109  smb_post_tree_connect(smb_request_t *sr)
 111  110  {
 112  111          DTRACE_SMB_1(op__TreeConnect__done, smb_request_t *, sr);
 113  112  }
 114  113  
↓ open down ↓ 169 lines elided ↑ open up ↑
 284  283  
 285  284                  rc = smbsr_decode_data(sr, "%#cus", sr, pwlen, pwbuf,
 286  285                      &tcon->path, &tcon->service);
 287  286  
 288  287                  tcon->pwdlen = pwlen;
 289  288                  tcon->password = (char *)pwbuf;
 290  289          }
 291  290  
 292  291          tcon->optional_support = 0;
 293  292  
 294      -        DTRACE_SMB_2(op__TreeConnectX__start, smb_request_t *, sr,
 295      -            smb_arg_tcon_t *, tcon);
      293 +        DTRACE_SMB_1(op__TreeConnectX__start, smb_request_t *, sr);
 296  294  
 297  295          return ((rc == 0) ? SDRC_SUCCESS : SDRC_ERROR);
 298  296  }
 299  297  
 300  298  void
 301  299  smb_post_tree_connect_andx(smb_request_t *sr)
 302  300  {
 303  301          DTRACE_SMB_1(op__TreeConnectX__done, smb_request_t *, sr);
 304  302  }
 305  303  
↓ open down ↓ 151 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX