Print this page
NEX-1643 dtrace provider for smbsrv
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
SMB-63 taskq_create_proc ... TQ_DYNAMIC puts tasks in p0
re #11974 CIFS Share - Tree connect fails from Windows 7 Clients

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/smbsrv/smb_process_exit.c
          +++ new/usr/src/uts/common/fs/smbsrv/smb_process_exit.c
↓ open down ↓ 13 lines elided ↑ open up ↑
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
       24 + *
       25 + * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
  24   26   */
  25   27  
  26   28  /*
  27   29   * SMB: process_exit
  28   30   *
  29   31   * This command informs the server that a client process has terminated.
  30   32   * The server must close all files opened by Pid in the SMB header.  This
  31   33   * must automatically release all locks the process holds.
  32   34   *
  33   35   * Client Request                     Description
↓ open down ↓ 15 lines elided ↑ open up ↑
  49   51   * necessary by sending close SMBs to the server to release resources.  In
  50   52   * fact, clients who have negotiated LANMAN 1.0 and later probably do not
  51   53   * send this message at all.
  52   54   */
  53   55  
  54   56  #include <smbsrv/smb_kproto.h>
  55   57  
  56   58  smb_sdrc_t
  57   59  smb_pre_process_exit(smb_request_t *sr)
  58   60  {
  59      -        DTRACE_SMB_1(op__ProcessExit__start, smb_request_t *, sr);
       61 +        DTRACE_SMB_START(op__ProcessExit, smb_request_t *, sr);
  60   62          return (SDRC_SUCCESS);
  61   63  }
  62   64  
  63   65  void
  64   66  smb_post_process_exit(smb_request_t *sr)
  65   67  {
  66      -        DTRACE_SMB_1(op__ProcessExit__done, smb_request_t *, sr);
       68 +        DTRACE_SMB_DONE(op__ProcessExit, smb_request_t *, sr);
  67   69  }
  68   70  
  69   71  smb_sdrc_t
  70   72  smb_com_process_exit(smb_request_t *sr)
  71   73  {
  72   74          int rc;
  73   75  
  74   76          sr->uid_user = smb_session_lookup_uid(sr->session, sr->smb_uid);
  75   77          if (sr->uid_user == NULL) {
  76   78                  rc = smbsr_encode_empty_result(sr);
↓ open down ↓ 20 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX