Lines Matching refs:sr

97 smb_pre_delete(smb_request_t *sr)  in smb_pre_delete()  argument
102 fqi = &sr->arg.dirop.fqi; in smb_pre_delete()
104 if ((rc = smbsr_decode_vwv(sr, "w", &fqi->fq_sattr)) == 0) in smb_pre_delete()
105 rc = smbsr_decode_data(sr, "%S", sr, &fqi->fq_path.pn_path); in smb_pre_delete()
107 DTRACE_SMB_START(op__Delete, smb_request_t *, sr); /* arg.dirop */ in smb_pre_delete()
113 smb_post_delete(smb_request_t *sr) in smb_post_delete() argument
115 DTRACE_SMB_DONE(op__Delete, smb_request_t *, sr); in smb_post_delete()
143 smb_com_delete(smb_request_t *sr) in smb_com_delete() argument
152 fqi = &sr->arg.dirop.fqi; in smb_com_delete()
155 smb_pathname_init(sr, pn, pn->pn_path); in smb_com_delete()
156 if (!smb_pathname_validate(sr, pn)) in smb_com_delete()
158 if (smb_delete_check_path(sr) != 0) in smb_com_delete()
163 rc = smb_pathname_reduce(sr, sr->user_cr, fqi->fq_path.pn_path, in smb_com_delete()
164 sr->tid_tree->t_snode, sr->tid_tree->t_snode, in smb_com_delete()
178 smbsr_error(sr, status, ERRDOS, ERROR_FILE_NOT_FOUND); in smb_com_delete()
180 smbsr_errno(sr, rc); in smb_com_delete()
186 if ((fqi->fq_dnode == sr->tid_tree->t_snode) && in smb_com_delete()
189 smbsr_error(sr, NT_STATUS_OBJECT_PATH_SYNTAX_BAD, in smb_com_delete()
194 rc = smb_fsop_access(sr, sr->user_cr, fqi->fq_dnode, in smb_com_delete()
198 smbsr_error(sr, NT_STATUS_ACCESS_DENIED, in smb_com_delete()
204 rc = smb_delete_multiple_files(sr, &err); in smb_com_delete()
206 rc = smb_delete_single_file(sr, &err); in smb_com_delete()
211 smbsr_set_error(sr, &err); in smb_com_delete()
213 rc = smbsr_encode_empty_result(sr); in smb_com_delete()
228 smb_delete_single_file(smb_request_t *sr, smb_error_t *err) in smb_delete_single_file() argument
233 fqi = &sr->arg.dirop.fqi; in smb_delete_single_file()
237 if (!smb_validate_object_name(sr, pn)) { in smb_delete_single_file()
238 smb_delete_error(err, sr->smb_error.status, in smb_delete_single_file()
243 if (smb_fsop_lookup_name(sr, sr->user_cr, 0, sr->tid_tree->t_snode, in smb_delete_single_file()
250 if (smb_delete_check_dosattr(sr, err) != 0) { in smb_delete_single_file()
255 if (smb_delete_remove_file(sr, err) != 0) { in smb_delete_single_file()
283 smb_delete_multiple_files(smb_request_t *sr, smb_error_t *err) in smb_delete_multiple_files() argument
291 fqi = &sr->arg.dirop.fqi; in smb_delete_multiple_files()
297 status = smb_odir_openpath(sr, fqi->fq_path.pn_path, in smb_delete_multiple_files()
305 rc = smb_delete_find_fname(sr, od, namebuf, MAXNAMELEN); in smb_delete_multiple_files()
309 rc = smb_fsop_lookup_name(sr, sr->user_cr, SMB_CASE_SENSITIVE, in smb_delete_multiple_files()
310 sr->tid_tree->t_snode, fqi->fq_dnode, in smb_delete_multiple_files()
315 if (smb_delete_check_dosattr(sr, err) != 0) { in smb_delete_multiple_files()
328 if (smb_delete_remove_file(sr, err) == 0) { in smb_delete_multiple_files()
371 smb_delete_find_fname(smb_request_t *sr, smb_odir_t *od, char *namebuf, int len) in smb_delete_find_fname() argument
379 rc = smb_odir_read(sr, od, odirent, &eos); in smb_delete_find_fname()
401 smb_delete_check_dosattr(smb_request_t *sr, smb_error_t *err) in smb_delete_check_dosattr() argument
408 fqi = &sr->arg.dirop.fqi; in smb_delete_check_dosattr()
414 if (smb_node_getattr(sr, node, zone_kcred(), NULL, &attr) != 0) { in smb_delete_check_dosattr()
426 if (SMB_PATHFILE_IS_READONLY(sr, node)) { in smb_delete_check_dosattr()
471 smb_delete_remove_file(smb_request_t *sr, smb_error_t *err) in smb_delete_remove_file() argument
479 fqi = &sr->arg.dirop.fqi; in smb_delete_remove_file()
489 (void) smb_oplock_wait_break(sr, node, 0); in smb_delete_remove_file()
535 if (SMB_TREE_SUPPORTS_CATIA(sr)) in smb_delete_remove_file()
538 rc = smb_fsop_remove(sr, sr->user_cr, node->n_dnode, in smb_delete_remove_file()
569 smb_delete_check_path(smb_request_t *sr) in smb_delete_check_path() argument
571 smb_fqi_t *fqi = &sr->arg.dirop.fqi; in smb_delete_check_path()
575 smbsr_error(sr, NT_STATUS_FILE_IS_A_DIRECTORY, in smb_delete_check_path()
584 smbsr_error(sr, NT_STATUS_OBJECT_NAME_INVALID, in smb_delete_check_path()