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,28 **** * * CDDL HEADER END */ /* * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. ! * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ #include <smbsrv/smb_kproto.h> /* --- 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. */ #include <smbsrv/smb_kproto.h> /*
*** 201,218 **** /* *** smb_com_search *** */ smb_sdrc_t smb_pre_search(smb_request_t *sr) { ! DTRACE_SMB_1(op__Search__start, 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); } smb_sdrc_t smb_com_search(smb_request_t *sr) { --- 201,218 ---- /* *** smb_com_search *** */ smb_sdrc_t smb_pre_search(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_DONE(op__Search, smb_request_t *, sr); } smb_sdrc_t smb_com_search(smb_request_t *sr) {
*** 298,307 **** --- 298,308 ---- 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,409 **** /* *** smb_com_find *** */ smb_sdrc_t smb_pre_find(smb_request_t *sr) { ! DTRACE_SMB_1(op__Find__start, 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); } smb_sdrc_t smb_com_find(smb_request_t *sr) { --- 393,410 ---- /* *** smb_com_find *** */ smb_sdrc_t smb_pre_find(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_DONE(op__Find, smb_request_t *, sr); } smb_sdrc_t smb_com_find(smb_request_t *sr) {
*** 453,462 **** --- 454,464 ---- 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,562 **** /* *** 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); return (SDRC_SUCCESS); } void smb_post_find_close(smb_request_t *sr) { ! DTRACE_SMB_1(op__FindClose__done, smb_request_t *, sr); } smb_sdrc_t smb_com_find_close(smb_request_t *sr) { --- 547,564 ---- /* *** smb_com_find_close *** */ smb_sdrc_t smb_pre_find_close(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_DONE(op__FindClose, smb_request_t *, sr); } smb_sdrc_t smb_com_find_close(smb_request_t *sr) {
*** 611,628 **** /* *** 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); return (SDRC_SUCCESS); } void smb_post_find_unique(smb_request_t *sr) { ! DTRACE_SMB_1(op__FindUnique__done, smb_request_t *, sr); } smb_sdrc_t smb_com_find_unique(struct smb_request *sr) { --- 613,630 ---- /* *** smb_com_find_unique *** */ smb_sdrc_t smb_pre_find_unique(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_DONE(op__FindUnique, smb_request_t *, sr); } smb_sdrc_t smb_com_find_unique(struct smb_request *sr) {
*** 689,700 **** 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, smb_time_gmt_to_local(sr, fileinfo.fi_mtime.tv_sec), (int32_t)fileinfo.fi_size, fileinfo.fi_shortname); count++; --- 691,702 ---- 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, smb_time_gmt_to_local(sr, fileinfo.fi_mtime.tv_sec), (int32_t)fileinfo.fi_size, fileinfo.fi_shortname); count++;