Lines Matching refs:param

56 	smb_rw_param_t *param;
61 param = kmem_zalloc(sizeof (smb_rw_param_t), KM_SLEEP);
62 sr->arg.rw = param;
63 param->rw_magic = SMB_RW_MAGIC;
67 param->rw_count = (uint32_t)count;
68 param->rw_offset = (uint64_t)off;
69 param->rw_vdb.vdb_uio.uio_loffset = (offset_t)param->rw_offset;
72 smb_rw_param_t *, param);
89 smb_rw_param_t *param = sr->arg.rw;
100 if (param->rw_count == 0) {
101 rc = smb_write_truncate(sr, param);
103 rc = smbsr_decode_data(sr, "D", &param->rw_vdb);
105 if ((rc != 0) || (param->rw_vdb.vdb_len != param->rw_count)) {
111 param->rw_vdb.vdb_uio.uio_loffset = (offset_t)param->rw_offset;
113 rc = smb_common_write(sr, param);
123 (uint16_t)param->rw_count, 0);
141 smb_rw_param_t *param;
146 param = kmem_zalloc(sizeof (smb_rw_param_t), KM_SLEEP);
147 sr->arg.rw = param;
148 param->rw_magic = SMB_RW_MAGIC;
152 &count, &off, &param->rw_last_write);
155 &count, &off, &param->rw_last_write);
158 param->rw_count = (uint32_t)count;
159 param->rw_offset = (uint64_t)off;
162 smb_rw_param_t *, param);
179 smb_rw_param_t *param = sr->arg.rw;
191 if (param->rw_count == 0) {
192 rc = smb_write_truncate(sr, param);
197 rc = smbsr_decode_data(sr, ".#B", param->rw_count,
198 &param->rw_vdb);
200 if ((rc != 0) || (param->rw_vdb.vdb_len != param->rw_count)) {
206 param->rw_vdb.vdb_uio.uio_loffset = (offset_t)param->rw_offset;
208 rc = smb_common_write(sr, param);
217 smb_ofile_close(sr->fid_ofile, param->rw_last_write);
219 count = (uint16_t)param->rw_count;
244 smb_rw_param_t *param;
250 param = kmem_zalloc(sizeof (smb_rw_param_t), KM_SLEEP);
251 sr->arg.rw = param;
252 param->rw_magic = SMB_RW_MAGIC;
256 param->rw_count = (uint32_t)count;
257 param->rw_offset = (uint64_t)off;
260 smb_rw_param_t *, param);
277 smb_rw_param_t *param = sr->arg.rw;
294 if (param->rw_count == 0) {
300 rc = smbsr_decode_data(sr, "D", &param->rw_vdb);
302 if ((rc != 0) || (param->rw_count != param->rw_vdb.vdb_len)) {
308 param->rw_vdb.vdb_uio.uio_loffset = (offset_t)param->rw_offset;
310 if ((rc = smb_common_write(sr, param)) != 0) {
316 status = smb_unlock_range(sr, sr->fid_ofile->f_node, param->rw_offset,
317 (uint64_t)param->rw_count);
325 (uint16_t)param->rw_count, 0);
348 smb_rw_param_t *param;
356 param = kmem_zalloc(sizeof (smb_rw_param_t), KM_SLEEP);
357 sr->arg.rw = param;
358 param->rw_magic = SMB_RW_MAGIC;
362 &off_low, &param->rw_mode, &remcnt, &datalen_high,
363 &datalen_low, &param->rw_dsoff, &off_high);
365 param->rw_dsoff -= 63;
366 param->rw_offset = ((uint64_t)off_high << 32) | off_low;
369 &off_low, &param->rw_mode, &remcnt, &datalen_high,
370 &datalen_low, &param->rw_dsoff);
372 param->rw_offset = (uint64_t)off_low;
373 param->rw_dsoff -= 59;
376 param->rw_count = (uint32_t)datalen_low;
379 param->rw_count |= ((uint32_t)datalen_high << 16);
382 smb_rw_param_t *, param);
399 smb_rw_param_t *param = sr->arg.rw;
404 ASSERT(param);
405 ASSERT(param->rw_magic == SMB_RW_MAGIC);
415 if (SMB_WRMODE_IS_STABLE(param->rw_mode) &&
422 rc = smbsr_decode_data(sr, "#.#B", param->rw_dsoff, param->rw_count,
423 &param->rw_vdb);
425 if ((rc != 0) || (param->rw_vdb.vdb_len != param->rw_count)) {
431 param->rw_vdb.vdb_uio.uio_loffset = (offset_t)param->rw_offset;
433 if (param->rw_count != 0) {
434 if ((rc = smb_common_write(sr, param)) != 0) {
442 count_low = param->rw_count & 0xFFFF;
443 count_high = (param->rw_count >> 16) & 0xFF;
457 smb_common_write(smb_request_t *sr, smb_rw_param_t *param)
471 rc = smb_lock_range_access(sr, node, param->rw_offset,
472 param->rw_count, B_TRUE);
480 if (SMB_WRMODE_IS_STABLE(param->rw_mode) ||
486 &param->rw_vdb.vdb_uio, &lcount, stability);
496 param->rw_count = lcount;
500 param->rw_count = param->rw_vdb.vdb_uio.uio_resid;
502 if ((rc = smb_opipe_write(sr, &param->rw_vdb.vdb_uio)) != 0)
503 param->rw_count = 0;
515 ofile->f_seek_pos = param->rw_offset + param->rw_count;
532 smb_write_truncate(smb_request_t *sr, smb_rw_param_t *param)
545 status = smb_lock_range_access(sr, node, param->rw_offset,
546 param->rw_count, B_TRUE);
558 attr.sa_vattr.va_size = param->rw_offset;
564 ofile->f_seek_pos = param->rw_offset + param->rw_count;