Lines Matching refs:sr

62 smb_pre_rename(smb_request_t *sr)
64 smb_fqi_t *src_fqi = &sr->arg.dirop.fqi;
65 smb_fqi_t *dst_fqi = &sr->arg.dirop.dst_fqi;
68 if ((rc = smbsr_decode_vwv(sr, "w", &src_fqi->fq_sattr)) == 0) {
69 rc = smbsr_decode_data(sr, "%SS", sr, &src_fqi->fq_path.pn_path,
75 DTRACE_SMB_2(op__Rename__start, smb_request_t *, sr,
76 struct dirop *, &sr->arg.dirop);
82 smb_post_rename(smb_request_t *sr)
84 DTRACE_SMB_1(op__Rename__done, smb_request_t *, sr);
88 smb_com_rename(smb_request_t *sr)
90 smb_fqi_t *src_fqi = &sr->arg.dirop.fqi;
91 smb_fqi_t *dst_fqi = &sr->arg.dirop.dst_fqi;
96 if (!STYPE_ISDSK(sr->tid_tree->t_res_type)) {
97 smbsr_error(sr, NT_STATUS_ACCESS_DENIED,
102 smb_pathname_init(sr, src_pn, src_pn->pn_path);
103 smb_pathname_init(sr, dst_pn, dst_pn->pn_path);
104 if (!smb_pathname_validate(sr, src_pn) ||
105 !smb_pathname_validate(sr, dst_pn)) {
109 status = smb_common_rename(sr, src_fqi, dst_fqi);
111 smbsr_error(sr, status, 0, 0);
115 (void) smbsr_encode_empty_result(sr);
133 smb_pre_nt_rename(smb_request_t *sr)
135 smb_fqi_t *src_fqi = &sr->arg.dirop.fqi;
136 smb_fqi_t *dst_fqi = &sr->arg.dirop.dst_fqi;
140 rc = smbsr_decode_vwv(sr, "wwl", &src_fqi->fq_sattr,
141 &sr->arg.dirop.info_level, &clusters);
143 rc = smbsr_decode_data(sr, "%SS", sr,
149 DTRACE_SMB_2(op__NtRename__start, smb_request_t *, sr,
150 struct dirop *, &sr->arg.dirop);
156 smb_post_nt_rename(smb_request_t *sr)
158 DTRACE_SMB_1(op__NtRename__done, smb_request_t *, sr);
162 smb_com_nt_rename(smb_request_t *sr)
164 smb_fqi_t *src_fqi = &sr->arg.dirop.fqi;
165 smb_fqi_t *dst_fqi = &sr->arg.dirop.dst_fqi;
170 if (!STYPE_ISDSK(sr->tid_tree->t_res_type)) {
171 smbsr_error(sr, NT_STATUS_ACCESS_DENIED,
176 smb_pathname_init(sr, src_pn, src_pn->pn_path);
177 smb_pathname_init(sr, dst_pn, dst_pn->pn_path);
178 if (!smb_pathname_validate(sr, src_pn) ||
179 !smb_pathname_validate(sr, dst_pn)) {
184 smbsr_error(sr, NT_STATUS_OBJECT_PATH_SYNTAX_BAD,
189 switch (sr->arg.dirop.info_level) {
191 status = smb_make_link(sr, src_fqi, dst_fqi);
195 status = smb_common_rename(sr, src_fqi, dst_fqi);
206 smbsr_error(sr, status, 0, 0);
210 (void) smbsr_encode_empty_result(sr);
221 smb_nt_transact_rename(smb_request_t *sr, smb_xa_t *xa)
223 if (smb_mbc_decodef(&xa->req_param_mb, "w", &sr->smb_fid) != 0)
226 smbsr_lookup_file(sr);
227 if (sr->fid_ofile == NULL) {
228 smbsr_error(sr, NT_STATUS_INVALID_HANDLE, ERRDOS, ERRbadfid);
231 smbsr_release_file(sr);