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>
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)
SMB-63 taskq_create_proc ... TQ_DYNAMIC puts tasks in p0
re #11974 CIFS Share - Tree connect fails from Windows 7 Clients
re #10733 Windows 7 directory listing keeps restarting

@@ -18,11 +18,11 @@
  *
  * CDDL HEADER END
  */
 /*
  * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
+ * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
  */
 
 #include <smbsrv/smb_kproto.h>
 
 /*

@@ -201,18 +201,18 @@
 /* *** smb_com_search *** */
 
 smb_sdrc_t
 smb_pre_search(smb_request_t *sr)
 {
-        DTRACE_SMB_1(op__Search__start, smb_request_t *, sr);
+        DTRACE_SMB_START(op__Search, smb_request_t *, sr);
         return (SDRC_SUCCESS);
 }
 
 void
 smb_post_search(smb_request_t *sr)
 {
-        DTRACE_SMB_1(op__Search__done, smb_request_t *, sr);
+        DTRACE_SMB_DONE(op__Search, smb_request_t *, sr);
 }
 
 smb_sdrc_t
 smb_com_search(smb_request_t *sr)
 {

@@ -298,10 +298,11 @@
                         if (status == NT_STATUS_ACCESS_DENIED)
                                 smbsr_warn(sr, NT_STATUS_NO_MORE_FILES,
                                     ERRDOS, ERROR_NO_MORE_FILES);
                         return (SDRC_ERROR);
                 }
+                odid = od->d_odid;
         } else {
                 if (smb_mbc_decodef(&sr->smb_data, "b12.wwl",
                     &resume_char, &index, &odid, &client_key) != 0) {
                         return (SDRC_ERROR);
                 }

@@ -392,18 +393,18 @@
 /* *** smb_com_find *** */
 
 smb_sdrc_t
 smb_pre_find(smb_request_t *sr)
 {
-        DTRACE_SMB_1(op__Find__start, smb_request_t *, sr);
+        DTRACE_SMB_START(op__Find, smb_request_t *, sr);
         return (SDRC_SUCCESS);
 }
 
 void
 smb_post_find(smb_request_t *sr)
 {
-        DTRACE_SMB_1(op__Find__done, smb_request_t *, sr);
+        DTRACE_SMB_DONE(op__Find, smb_request_t *, sr);
 }
 
 smb_sdrc_t
 smb_com_find(smb_request_t *sr)
 {

@@ -453,10 +454,11 @@
                 status = smb_odir_openpath(sr, pn->pn_path, sattr, 0, &od);
                 if (status != 0) {
                         smbsr_error(sr, status, 0, 0);
                         return (SDRC_ERROR);
                 }
+                odid = od->d_odid;
         } else {
                 if (smb_mbc_decodef(&sr->smb_data, "b12.wwl",
                     &resume_char, &index, &odid, &client_key) != 0) {
                         return (SDRC_ERROR);
                 }

@@ -545,18 +547,18 @@
 /* *** smb_com_find_close *** */
 
 smb_sdrc_t
 smb_pre_find_close(smb_request_t *sr)
 {
-        DTRACE_SMB_1(op__FindClose__start, smb_request_t *, sr);
+        DTRACE_SMB_START(op__FindClose, smb_request_t *, sr);
         return (SDRC_SUCCESS);
 }
 
 void
 smb_post_find_close(smb_request_t *sr)
 {
-        DTRACE_SMB_1(op__FindClose__done, smb_request_t *, sr);
+        DTRACE_SMB_DONE(op__FindClose, smb_request_t *, sr);
 }
 
 smb_sdrc_t
 smb_com_find_close(smb_request_t *sr)
 {

@@ -611,18 +613,18 @@
 /* *** smb_com_find_unique *** */
 
 smb_sdrc_t
 smb_pre_find_unique(smb_request_t *sr)
 {
-        DTRACE_SMB_1(op__FindUnique__start, smb_request_t *, sr);
+        DTRACE_SMB_START(op__FindUnique, smb_request_t *, sr);
         return (SDRC_SUCCESS);
 }
 
 void
 smb_post_find_unique(smb_request_t *sr)
 {
-        DTRACE_SMB_1(op__FindUnique__done, smb_request_t *, sr);
+        DTRACE_SMB_DONE(op__FindUnique, smb_request_t *, sr);
 }
 
 smb_sdrc_t
 smb_com_find_unique(struct smb_request *sr)
 {

@@ -689,12 +691,12 @@
                             SMB_SHORTNAMELEN - 1);
                 }
                 smb_name83(fileinfo.fi_shortname, name83, SMB_SHORTNAMELEN);
 
                 (void) smb_mbc_encodef(&sr->reply, "b11c.wwlbYl13c",
-                    resume_char, name83, index, od->d_odid,
-                    client_key, fileinfo.fi_dosattr & 0xff,
+                    resume_char, name83, index, od->d_odid, client_key,
+                    fileinfo.fi_dosattr & 0xff,
                     smb_time_gmt_to_local(sr, fileinfo.fi_mtime.tv_sec),
                     (int32_t)fileinfo.fi_size,
                     fileinfo.fi_shortname);
 
                 count++;