Lines Matching refs:sr

58 smb_pre_read(smb_request_t *sr)  in smb_pre_read()  argument
67 sr->arg.rw = param; in smb_pre_read()
69 rc = smbsr_decode_vwv(sr, "wwlw", &sr->smb_fid, in smb_pre_read()
76 DTRACE_SMB_START(op__Read, smb_request_t *, sr); /* arg.rw */ in smb_pre_read()
82 smb_post_read(smb_request_t *sr) in smb_post_read() argument
84 DTRACE_SMB_DONE(op__Read, smb_request_t *, sr); /* arg.rw */ in smb_post_read()
86 kmem_free(sr->arg.rw, sizeof (smb_rw_param_t)); in smb_post_read()
90 smb_com_read(smb_request_t *sr) in smb_com_read() argument
92 smb_rw_param_t *param = sr->arg.rw; in smb_com_read()
96 smbsr_lookup_file(sr); in smb_com_read()
97 if (sr->fid_ofile == NULL) { in smb_com_read()
98 smbsr_error(sr, NT_STATUS_INVALID_HANDLE, ERRDOS, ERRbadfid); in smb_com_read()
102 sr->user_cr = smb_ofile_getcred(sr->fid_ofile); in smb_com_read()
107 if ((rc = smb_common_read(sr, param)) != 0) { in smb_com_read()
108 smbsr_errno(sr, rc); in smb_com_read()
113 rc = smbsr_encode_result(sr, 5, VAR_BCC, "bw8.wbwC", in smb_com_read()
114 5, count, VAR_BCC, 0x01, count, &sr->raw_data); in smb_com_read()
142 smb_pre_lock_and_read(smb_request_t *sr) in smb_pre_lock_and_read() argument
151 sr->arg.rw = param; in smb_pre_lock_and_read()
153 rc = smbsr_decode_vwv(sr, "wwlw", &sr->smb_fid, in smb_pre_lock_and_read()
160 DTRACE_SMB_START(op__LockAndRead, smb_request_t *, sr); /* arg.rw */ in smb_pre_lock_and_read()
166 smb_post_lock_and_read(smb_request_t *sr) in smb_post_lock_and_read() argument
168 DTRACE_SMB_DONE(op__LockAndRead, smb_request_t *, sr); /* arg.rw */ in smb_post_lock_and_read()
170 kmem_free(sr->arg.rw, sizeof (smb_rw_param_t)); in smb_post_lock_and_read()
174 smb_com_lock_and_read(smb_request_t *sr) in smb_com_lock_and_read() argument
176 smb_rw_param_t *param = sr->arg.rw; in smb_com_lock_and_read()
182 if (STYPE_ISDSK(sr->tid_tree->t_res_type) == 0) { in smb_com_lock_and_read()
183 smbsr_error(sr, NT_STATUS_ACCESS_DENIED, ERRDOS, ERRnoaccess); in smb_com_lock_and_read()
187 smbsr_lookup_file(sr); in smb_com_lock_and_read()
188 if (sr->fid_ofile == NULL) { in smb_com_lock_and_read()
189 smbsr_error(sr, NT_STATUS_INVALID_HANDLE, ERRDOS, ERRbadfid); in smb_com_lock_and_read()
193 sr->user_cr = smb_ofile_getcred(sr->fid_ofile); in smb_com_lock_and_read()
196 lk_pid = sr->smb_pid & 0xFFFF; in smb_com_lock_and_read()
198 status = smb_lock_range(sr, param->rw_offset, (uint64_t)param->rw_count, in smb_com_lock_and_read()
202 smb_lock_range_error(sr, status); in smb_com_lock_and_read()
209 if ((rc = smb_common_read(sr, param)) != 0) { in smb_com_lock_and_read()
210 smbsr_errno(sr, rc); in smb_com_lock_and_read()
215 rc = smbsr_encode_result(sr, 5, VAR_BCC, "bw8.wbwC", in smb_com_lock_and_read()
216 5, count, VAR_BCC, 0x1, count, &sr->raw_data); in smb_com_lock_and_read()
230 smb_pre_read_raw(smb_request_t *sr) in smb_pre_read_raw() argument
232 DTRACE_SMB_START(op__ReadRaw, smb_request_t *, sr); in smb_pre_read_raw()
237 smb_post_read_raw(smb_request_t *sr) in smb_post_read_raw() argument
239 DTRACE_SMB_DONE(op__ReadRaw, smb_request_t *, sr); in smb_post_read_raw()
243 smb_com_read_raw(smb_request_t *sr) in smb_com_read_raw() argument
245 smbsr_error(sr, NT_STATUS_NOT_SUPPORTED, ERRDOS, in smb_com_read_raw()
262 smb_pre_read_andx(smb_request_t *sr) in smb_pre_read_andx() argument
274 sr->arg.rw = param; in smb_pre_read_andx()
276 if (sr->smb_wct == 12) { in smb_pre_read_andx()
277 rc = smbsr_decode_vwv(sr, "b3.wlwwlwl", &param->rw_andx, in smb_pre_read_andx()
278 &sr->smb_fid, &off_low, &maxcnt_low, &mincnt, &maxcnt_high, in smb_pre_read_andx()
286 if ((sr->session->capabilities & CAP_LARGE_READX) && in smb_pre_read_andx()
290 rc = smbsr_decode_vwv(sr, "b3.wlwwlw", &param->rw_andx, in smb_pre_read_andx()
291 &sr->smb_fid, &off_low, &maxcnt_low, &mincnt, &maxcnt_high, in smb_pre_read_andx()
300 DTRACE_SMB_START(op__ReadX, smb_request_t *, sr); /* arg.rw */ in smb_pre_read_andx()
306 smb_post_read_andx(smb_request_t *sr) in smb_post_read_andx() argument
308 DTRACE_SMB_DONE(op__ReadX, smb_request_t *, sr); /* arg.rw */ in smb_post_read_andx()
310 kmem_free(sr->arg.rw, sizeof (smb_rw_param_t)); in smb_post_read_andx()
314 smb_com_read_andx(smb_request_t *sr) in smb_com_read_andx() argument
316 smb_rw_param_t *param = sr->arg.rw; in smb_com_read_andx()
323 smbsr_lookup_file(sr); in smb_com_read_andx()
324 if (sr->fid_ofile == NULL) { in smb_com_read_andx()
325 smbsr_error(sr, NT_STATUS_INVALID_HANDLE, ERRDOS, ERRbadfid); in smb_com_read_andx()
329 sr->user_cr = smb_ofile_getcred(sr->fid_ofile); in smb_com_read_andx()
334 if ((rc = smb_common_read(sr, param)) != 0) { in smb_com_read_andx()
335 smbsr_errno(sr, rc); in smb_com_read_andx()
346 data_offset = (sr->andx_prev_wct == 0) ? 0 : sr->andx_prev_wct + 1; in smb_com_read_andx()
348 if (STYPE_ISIPC(sr->tid_tree->t_res_type)) { in smb_com_read_andx()
352 rc = smbsr_encode_result(sr, 12, VAR_BCC, "bb1.ww4.www8.wbC", in smb_com_read_andx()
362 &sr->raw_data); in smb_com_read_andx()
367 rc = smbsr_encode_result(sr, 12, VAR_BCC, "bb1.ww4.www8.wC", in smb_com_read_andx()
376 &sr->raw_data); in smb_com_read_andx()
394 smb_common_read(smb_request_t *sr, smb_rw_param_t *param) in smb_common_read() argument
396 smb_ofile_t *ofile = sr->fid_ofile; in smb_common_read()
410 switch (sr->tid_tree->t_res_type & STYPE_MASK) { in smb_common_read()
415 rc = smb_lock_range_access(sr, node, param->rw_offset, in smb_common_read()
424 !(sr->smb_flg2 & SMB_FLAGS2_READ_IF_EXECUTE)) { in smb_common_read()
437 sr->raw_data.max_bytes = vdb->vdb_uio.uio_resid; in smb_common_read()
440 rc = smb_fsop_read(sr, sr->user_cr, node, ofile, in smb_common_read()
443 sr->raw_data.max_bytes -= vdb->vdb_uio.uio_resid; in smb_common_read()
444 smb_mbuf_trim(top, sr->raw_data.max_bytes); in smb_common_read()
445 MBC_ATTACH_MBUF(&sr->raw_data, top); in smb_common_read()
449 sr->raw_data.max_bytes = vdb->vdb_uio.uio_resid; in smb_common_read()
452 rc = smb_opipe_read(sr, &vdb->vdb_uio); in smb_common_read()
454 sr->raw_data.max_bytes -= vdb->vdb_uio.uio_resid; in smb_common_read()
455 smb_mbuf_trim(top, sr->raw_data.max_bytes); in smb_common_read()
456 MBC_ATTACH_MBUF(&sr->raw_data, top); in smb_common_read()
480 mutex_enter(&sr->fid_ofile->f_mutex); in smb_common_read()
482 mutex_exit(&sr->fid_ofile->f_mutex); in smb_common_read()