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,11 +18,11 @@
  *
  * CDDL HEADER END
  */
 /*
  * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
+ * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
  */
 
 /*
  * Trans2 Set File/Path Information Levels:
  *
@@ -125,18 +125,18 @@
  * 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);
+        DTRACE_SMB_START(op__SetInformation, 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);
+        DTRACE_SMB_DONE(op__SetInformation, smb_request_t *, sr);
 }
 
 smb_sdrc_t
 smb_com_set_information(smb_request_t *sr)
 {
@@ -165,18 +165,18 @@
  * 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);
+        DTRACE_SMB_START(op__SetInformation2, 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);
+        DTRACE_SMB_DONE(op__SetInformation2, smb_request_t *, sr);
 }
 
 smb_sdrc_t
 smb_com_set_information2(smb_request_t *sr)
 {
@@ -291,16 +291,11 @@
                 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;
@@ -339,12 +334,11 @@
         case SMB_INFO_STANDARD:
                 status = smb_set_standard_info(sr, sinfo);
                 break;
 
         case SMB_INFO_SET_EAS:
-                /* EAs not supported */
-                status = 0;
+                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);