Lines Matching refs:sr

44 	uint32_t (*ioctl_func)(smb_request_t *sr, smb_xa_t *xa);
85 smb_nt_transact_ioctl(smb_request_t *sr, smb_xa_t *xa) in smb_nt_transact_ioctl() argument
94 &fcode, &sr->smb_fid, &is_fsctl, &is_flags) != 0) { in smb_nt_transact_ioctl()
95 smbsr_error(sr, NT_STATUS_INVALID_PARAMETER, 0, 0); in smb_nt_transact_ioctl()
106 status = ioctl_ret_tbl[i].ioctl_func(sr, xa); in smb_nt_transact_ioctl()
112 smbsr_error(sr, status, 0, 0); in smb_nt_transact_ioctl()
122 smb_nt_trans_ioctl_noop(smb_request_t *sr, smb_xa_t *xa) in smb_nt_trans_ioctl_noop() argument
129 smb_nt_trans_ioctl_invalid_parm(smb_request_t *sr, smb_xa_t *xa) in smb_nt_trans_ioctl_invalid_parm() argument
145 smb_nt_trans_ioctl_set_sparse(smb_request_t *sr, smb_xa_t *xa) in smb_nt_trans_ioctl_set_sparse() argument
152 if (SMB_TREE_IS_READONLY(sr)) in smb_nt_trans_ioctl_set_sparse()
155 if (STYPE_ISIPC(sr->tid_tree->t_res_type)) in smb_nt_trans_ioctl_set_sparse()
158 smbsr_lookup_file(sr); in smb_nt_trans_ioctl_set_sparse()
159 if (sr->fid_ofile == NULL) in smb_nt_trans_ioctl_set_sparse()
162 if (!SMB_FTYPE_IS_DISK(sr->fid_ofile->f_ftype)) { in smb_nt_trans_ioctl_set_sparse()
163 smbsr_release_file(sr); in smb_nt_trans_ioctl_set_sparse()
167 of = sr->fid_ofile; in smb_nt_trans_ioctl_set_sparse()
169 smbsr_release_file(sr); in smb_nt_trans_ioctl_set_sparse()
173 if (smbsr_decode_data_avail(sr)) { in smb_nt_trans_ioctl_set_sparse()
175 smbsr_release_file(sr); in smb_nt_trans_ioctl_set_sparse()
176 return (sr->smb_error.status); in smb_nt_trans_ioctl_set_sparse()
186 rc = smb_node_getattr(sr, of->f_node, zone_kcred(), of, &attr); in smb_nt_trans_ioctl_set_sparse()
188 smbsr_errno(sr, rc); in smb_nt_trans_ioctl_set_sparse()
189 smbsr_release_file(sr); in smb_nt_trans_ioctl_set_sparse()
190 return (sr->smb_error.status); in smb_nt_trans_ioctl_set_sparse()
205 rc = smb_node_setattr(sr, of->f_node, of->f_cr, of, &attr); in smb_nt_trans_ioctl_set_sparse()
207 smbsr_errno(sr, rc); in smb_nt_trans_ioctl_set_sparse()
208 smbsr_release_file(sr); in smb_nt_trans_ioctl_set_sparse()
209 return (sr->smb_error.status); in smb_nt_trans_ioctl_set_sparse()
213 smbsr_release_file(sr); in smb_nt_trans_ioctl_set_sparse()
230 smb_nt_trans_ioctl_set_zero_data(smb_request_t *sr, smb_xa_t *xa) in smb_nt_trans_ioctl_set_zero_data() argument
234 if (SMB_TREE_IS_READONLY(sr)) in smb_nt_trans_ioctl_set_zero_data()
237 if (STYPE_ISIPC(sr->tid_tree->t_res_type)) in smb_nt_trans_ioctl_set_zero_data()
240 smbsr_lookup_file(sr); in smb_nt_trans_ioctl_set_zero_data()
241 if (sr->fid_ofile == NULL) in smb_nt_trans_ioctl_set_zero_data()
244 if (!SMB_FTYPE_IS_DISK(sr->fid_ofile->f_ftype)) { in smb_nt_trans_ioctl_set_zero_data()
245 smbsr_release_file(sr); in smb_nt_trans_ioctl_set_zero_data()
249 node = sr->fid_ofile->f_node; in smb_nt_trans_ioctl_set_zero_data()
251 smbsr_release_file(sr); in smb_nt_trans_ioctl_set_zero_data()
255 smbsr_release_file(sr); in smb_nt_trans_ioctl_set_zero_data()
267 smb_nt_trans_ioctl_query_alloc_ranges(smb_request_t *sr, smb_xa_t *xa) in smb_nt_trans_ioctl_query_alloc_ranges() argument
274 if (STYPE_ISIPC(sr->tid_tree->t_res_type)) in smb_nt_trans_ioctl_query_alloc_ranges()
277 smbsr_lookup_file(sr); in smb_nt_trans_ioctl_query_alloc_ranges()
278 if (sr->fid_ofile == NULL) in smb_nt_trans_ioctl_query_alloc_ranges()
281 if (!SMB_FTYPE_IS_DISK(sr->fid_ofile->f_ftype)) { in smb_nt_trans_ioctl_query_alloc_ranges()
282 smbsr_release_file(sr); in smb_nt_trans_ioctl_query_alloc_ranges()
286 of = sr->fid_ofile; in smb_nt_trans_ioctl_query_alloc_ranges()
288 smbsr_release_file(sr); in smb_nt_trans_ioctl_query_alloc_ranges()
295 rc = smb_node_getattr(sr, of->f_node, of->f_cr, of, &attr); in smb_nt_trans_ioctl_query_alloc_ranges()
297 smbsr_errno(sr, rc); in smb_nt_trans_ioctl_query_alloc_ranges()
298 smbsr_release_file(sr); in smb_nt_trans_ioctl_query_alloc_ranges()
299 return (sr->smb_error.status); in smb_nt_trans_ioctl_query_alloc_ranges()
303 smbsr_release_file(sr); in smb_nt_trans_ioctl_query_alloc_ranges()
308 smbsr_release_file(sr); in smb_nt_trans_ioctl_query_alloc_ranges()
309 return (sr->smb_error.status); in smb_nt_trans_ioctl_query_alloc_ranges()
317 smbsr_release_file(sr); in smb_nt_trans_ioctl_query_alloc_ranges()
322 smbsr_release_file(sr); in smb_nt_trans_ioctl_query_alloc_ranges()
323 return (sr->smb_error.status); in smb_nt_trans_ioctl_query_alloc_ranges()
326 smbsr_release_file(sr); in smb_nt_trans_ioctl_query_alloc_ranges()
331 smb_nt_trans_ioctl_enum_snaps(smb_request_t *sr, smb_xa_t *xa) in smb_nt_trans_ioctl_enum_snaps() argument
336 if (STYPE_ISIPC(sr->tid_tree->t_res_type)) in smb_nt_trans_ioctl_enum_snaps()
339 smbsr_lookup_file(sr); in smb_nt_trans_ioctl_enum_snaps()
340 if (sr->fid_ofile == NULL) in smb_nt_trans_ioctl_enum_snaps()
343 if (!SMB_FTYPE_IS_DISK(sr->fid_ofile->f_ftype)) { in smb_nt_trans_ioctl_enum_snaps()
344 smbsr_release_file(sr); in smb_nt_trans_ioctl_enum_snaps()
355 status = smb_vss_enum_snapshots(sr, &fsctl); in smb_nt_trans_ioctl_enum_snaps()
357 smbsr_release_file(sr); in smb_nt_trans_ioctl_enum_snaps()