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 ----