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-65 SMB server in non-global zones (use zone_kcred())
re #14152 Race between ipmi_submit_driver_request() and kcs_loop() (sync with illumos fix 3902)
SMB-46 File handle leaks exposed by mtime fixes (rm 7815)
re #7815 SMB server delivers old modification time...

*** 20,30 **** */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * ! * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ #include <smbsrv/smb_kproto.h> #include <smbsrv/smbinfo.h> #include <smbsrv/smb_fsops.h> --- 20,30 ---- */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * ! * Copyright 2017 Nexenta Systems, Inc. All rights reserved. */ #include <smbsrv/smb_kproto.h> #include <smbsrv/smbinfo.h> #include <smbsrv/smb_fsops.h>
*** 57,76 **** int rc; rc = smbsr_decode_data(sr, "%S", sr, &sr->arg.dirop.fqi.fq_path.pn_path); ! DTRACE_SMB_2(op__CreateDirectory__start, smb_request_t *, sr, ! struct dirop *, &sr->arg.dirop); return ((rc == 0) ? SDRC_SUCCESS : SDRC_ERROR); } void smb_post_create_directory(smb_request_t *sr) { ! DTRACE_SMB_1(op__CreateDirectory__done, smb_request_t *, sr); } smb_sdrc_t smb_com_create_directory(smb_request_t *sr) { --- 57,75 ---- int rc; rc = smbsr_decode_data(sr, "%S", sr, &sr->arg.dirop.fqi.fq_path.pn_path); ! DTRACE_SMB_START(op__CreateDirectory, smb_request_t *, sr); return ((rc == 0) ? SDRC_SUCCESS : SDRC_ERROR); } void smb_post_create_directory(smb_request_t *sr) { ! DTRACE_SMB_DONE(op__CreateDirectory, smb_request_t *, sr); } smb_sdrc_t smb_com_create_directory(smb_request_t *sr) {
*** 204,223 **** int rc; rc = smbsr_decode_data(sr, "%S", sr, &sr->arg.dirop.fqi.fq_path.pn_path); ! DTRACE_SMB_2(op__DeleteDirectory__start, smb_request_t *, sr, ! struct dirop *, &sr->arg.dirop); return ((rc == 0) ? SDRC_SUCCESS : SDRC_ERROR); } void smb_post_delete_directory(smb_request_t *sr) { ! DTRACE_SMB_1(op__DeleteDirectory__done, smb_request_t *, sr); } smb_sdrc_t smb_com_delete_directory(smb_request_t *sr) { --- 203,221 ---- int rc; rc = smbsr_decode_data(sr, "%S", sr, &sr->arg.dirop.fqi.fq_path.pn_path); ! DTRACE_SMB_START(op__DeleteDirectory, smb_request_t *, sr); return ((rc == 0) ? SDRC_SUCCESS : SDRC_ERROR); } void smb_post_delete_directory(smb_request_t *sr) { ! DTRACE_SMB_DONE(op__DeleteDirectory, smb_request_t *, sr); } smb_sdrc_t smb_com_delete_directory(smb_request_t *sr) {
*** 250,263 **** } rc = smb_fsop_lookup(sr, sr->user_cr, SMB_FOLLOW_LINKS, tnode, fqi->fq_dnode, fqi->fq_last_comp, &fqi->fq_fnode); 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); smb_node_release(fqi->fq_dnode); return (SDRC_ERROR); } --- 248,257 ----
*** 359,378 **** int rc; rc = smbsr_decode_data(sr, "%S", sr, &sr->arg.dirop.fqi.fq_path.pn_path); ! DTRACE_SMB_2(op__CheckDirectory__start, smb_request_t *, sr, ! struct dirop *, &sr->arg.dirop); return ((rc == 0) ? SDRC_SUCCESS : SDRC_ERROR); } void smb_post_check_directory(smb_request_t *sr) { ! DTRACE_SMB_1(op__CheckDirectory__done, smb_request_t *, sr); } smb_sdrc_t smb_com_check_directory(smb_request_t *sr) { --- 353,371 ---- int rc; rc = smbsr_decode_data(sr, "%S", sr, &sr->arg.dirop.fqi.fq_path.pn_path); ! DTRACE_SMB_START(op__CheckDirectory, smb_request_t *, sr); return ((rc == 0) ? SDRC_SUCCESS : SDRC_ERROR); } void smb_post_check_directory(smb_request_t *sr) { ! DTRACE_SMB_DONE(op__CheckDirectory, smb_request_t *, sr); } smb_sdrc_t smb_com_check_directory(smb_request_t *sr) {
*** 415,428 **** rc = smb_fsop_lookup(sr, sr->user_cr, SMB_FOLLOW_LINKS, tnode, fqi->fq_dnode, fqi->fq_last_comp, &fqi->fq_fnode); smb_node_release(fqi->fq_dnode); if (rc != 0) { - if (rc == ENOENT) - smbsr_error(sr, NT_STATUS_OBJECT_NAME_NOT_FOUND, - ERRDOS, ERROR_PATH_NOT_FOUND); - else smbsr_errno(sr, rc); return (SDRC_ERROR); } node = fqi->fq_fnode; --- 408,417 ----