Print this page
NEX-15069 smtorture smb2.create.blob is failed
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-15069 smtorture smb2.create.blob is failed
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-1643 dtrace provider for smbsrv
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
NEX-4540 SMB server declines EA support incorrectly
Reviewed by: Bayard Bell <bayard.bell@nexenta.com>
Reviewed by: Matt Barden <Matt.Barden@nexenta.com>
NEX-2442 regression with smbtorture test raw.sfileinfo.rename
NEX-946 smb_set_by_fid should return zero on success
SMB-11 SMB2 message parse & dispatch
SMB-12 SMB2 Negotiate Protocol
SMB-13 SMB2 Session Setup
SMB-14 SMB2 Logoff
SMB-15 SMB2 Tree Connect
SMB-16 SMB2 Tree Disconnect
SMB-17 SMB2 Create
SMB-18 SMB2 Close
SMB-19 SMB2 Flush
SMB-20 SMB2 Read
SMB-21 SMB2 Write
SMB-22 SMB2 Lock/Unlock
SMB-23 SMB2 Ioctl
SMB-24 SMB2 Cancel
SMB-25 SMB2 Echo
SMB-26 SMB2 Query Dir
SMB-27 SMB2 Change Notify
SMB-28 SMB2 Query Info
SMB-29 SMB2 Set Info
SMB-30 SMB2 Oplocks
SMB-53 SMB2 Create Context options
(SMB2 code review cleanup 1, 2, 3)
        
*** 18,28 ****
   *
   * CDDL HEADER END
   */
  /*
   * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
!  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
   */
  
  /*
   * Trans2 Set File/Path Information Levels:
   *
--- 18,28 ----
   *
   * CDDL HEADER END
   */
  /*
   * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
!  * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
   */
  
  /*
   * Trans2 Set File/Path Information Levels:
   *
*** 125,142 ****
   * smb_com_set_information (aka setattr)
   */
  smb_sdrc_t
  smb_pre_set_information(smb_request_t *sr)
  {
!         DTRACE_SMB_1(op__SetInformation__start, smb_request_t *, sr);
          return (SDRC_SUCCESS);
  }
  
  void
  smb_post_set_information(smb_request_t *sr)
  {
!         DTRACE_SMB_1(op__SetInformation__done, smb_request_t *, sr);
  }
  
  smb_sdrc_t
  smb_com_set_information(smb_request_t *sr)
  {
--- 125,142 ----
   * smb_com_set_information (aka setattr)
   */
  smb_sdrc_t
  smb_pre_set_information(smb_request_t *sr)
  {
!         DTRACE_SMB_START(op__SetInformation, smb_request_t *, sr);
          return (SDRC_SUCCESS);
  }
  
  void
  smb_post_set_information(smb_request_t *sr)
  {
!         DTRACE_SMB_DONE(op__SetInformation, smb_request_t *, sr);
  }
  
  smb_sdrc_t
  smb_com_set_information(smb_request_t *sr)
  {
*** 165,182 ****
   * smb_com_set_information2 (aka setattre)
   */
  smb_sdrc_t
  smb_pre_set_information2(smb_request_t *sr)
  {
!         DTRACE_SMB_1(op__SetInformation2__start, smb_request_t *, sr);
          return (SDRC_SUCCESS);
  }
  
  void
  smb_post_set_information2(smb_request_t *sr)
  {
!         DTRACE_SMB_1(op__SetInformation2__done, smb_request_t *, sr);
  }
  
  smb_sdrc_t
  smb_com_set_information2(smb_request_t *sr)
  {
--- 165,182 ----
   * smb_com_set_information2 (aka setattre)
   */
  smb_sdrc_t
  smb_pre_set_information2(smb_request_t *sr)
  {
!         DTRACE_SMB_START(op__SetInformation2, smb_request_t *, sr);
          return (SDRC_SUCCESS);
  }
  
  void
  smb_post_set_information2(smb_request_t *sr)
  {
!         DTRACE_SMB_DONE(op__SetInformation2, smb_request_t *, sr);
  }
  
  smb_sdrc_t
  smb_com_set_information2(smb_request_t *sr)
  {
*** 291,306 ****
                  smb_node_release(dnode);
          }
          kmem_free(name, MAXNAMELEN);
  
          if (rc != 0) {
-                 if (rc == ENOENT) {
-                         smbsr_error(sr, NT_STATUS_OBJECT_NAME_NOT_FOUND,
-                             ERRDOS, ERROR_FILE_NOT_FOUND);
-                 } else {
                          smbsr_errno(sr, rc);
-                 }
                  return (-1);
          }
  
          bzero(&sinfo, sizeof (sinfo));
          sinfo.si_node = node;
--- 291,301 ----
*** 339,350 ****
          case SMB_INFO_STANDARD:
                  status = smb_set_standard_info(sr, sinfo);
                  break;
  
          case SMB_INFO_SET_EAS:
!                 /* EAs not supported */
!                 status = 0;
                  break;
  
          case SMB_SET_FILE_BASIC_INFO:
          case SMB_FILE_BASIC_INFORMATION:
                  status = smb_set_basic_info(sr, sinfo);
--- 334,344 ----
          case SMB_INFO_STANDARD:
                  status = smb_set_standard_info(sr, sinfo);
                  break;
  
          case SMB_INFO_SET_EAS:
!                 status = NT_STATUS_EAS_NOT_SUPPORTED;
                  break;
  
          case SMB_SET_FILE_BASIC_INFO:
          case SMB_FILE_BASIC_INFORMATION:
                  status = smb_set_basic_info(sr, sinfo);