Lines Matching refs:rdata

4400 	struct cifs_io_parms *io_parms, struct cifs_io_subrequest *rdata,  in smb2_new_read_req()  argument
4428 trace_smb3_read_enter(rdata ? rdata->rreq->debug_id : 0, in smb2_new_read_req()
4429 rdata ? rdata->subreq.debug_index : 0, in smb2_new_read_req()
4430 rdata ? rdata->xid : 0, in smb2_new_read_req()
4439 if (rdata && smb3_use_rdma_offload(io_parms)) { in smb2_new_read_req()
4443 rdata->mr = smbd_register_mr(server->smbd_conn, &rdata->subreq.io_iter, in smb2_new_read_req()
4445 if (!rdata->mr) in smb2_new_read_req()
4456 v1->offset = cpu_to_le64(rdata->mr->mr->iova); in smb2_new_read_req()
4457 v1->token = cpu_to_le32(rdata->mr->mr->rkey); in smb2_new_read_req()
4458 v1->length = cpu_to_le32(rdata->mr->mr->length); in smb2_new_read_req()
4494 struct cifs_io_subrequest *rdata = mid->callback_data; in smb2_readv_callback() local
4495 struct netfs_inode *ictx = netfs_inode(rdata->rreq->inode); in smb2_readv_callback()
4496 struct cifs_tcon *tcon = tlink_tcon(rdata->req->cfile->tlink); in smb2_readv_callback()
4497 struct TCP_Server_Info *server = rdata->server; in smb2_readv_callback()
4499 (struct smb2_hdr *)rdata->iov[0].iov_base; in smb2_readv_callback()
4503 .rreq_debug_id = rdata->rreq->debug_id, in smb2_readv_callback()
4504 .rreq_debug_index = rdata->subreq.debug_index, in smb2_readv_callback()
4506 struct smb_rqst rqst = { .rq_iov = &rdata->iov[1], .rq_nvec = 1 }; in smb2_readv_callback()
4507 unsigned int rreq_debug_id = rdata->rreq->debug_id; in smb2_readv_callback()
4508 unsigned int subreq_debug_index = rdata->subreq.debug_index; in smb2_readv_callback()
4510 if (rdata->got_bytes) { in smb2_readv_callback()
4511 rqst.rq_iter = rdata->subreq.io_iter; in smb2_readv_callback()
4514 WARN_ONCE(rdata->server != mid->server, in smb2_readv_callback()
4516 rdata->server, mid->server); in smb2_readv_callback()
4519 __func__, mid->mid, mid->mid_state, rdata->result, in smb2_readv_callback()
4520 rdata->got_bytes, rdata->subreq.len - rdata->subreq.transferred); in smb2_readv_callback()
4530 iov_iter_truncate(&rqst.rq_iter, rdata->got_bytes); in smb2_readv_callback()
4537 task_io_account_read(rdata->got_bytes); in smb2_readv_callback()
4538 cifs_stats_bytes_read(tcon, rdata->got_bytes); in smb2_readv_callback()
4542 __set_bit(NETFS_SREQ_NEED_RETRY, &rdata->subreq.flags); in smb2_readv_callback()
4543 rdata->result = -EAGAIN; in smb2_readv_callback()
4544 if (server->sign && rdata->got_bytes) in smb2_readv_callback()
4546 rdata->got_bytes = 0; in smb2_readv_callback()
4548 task_io_account_read(rdata->got_bytes); in smb2_readv_callback()
4549 cifs_stats_bytes_read(tcon, rdata->got_bytes); in smb2_readv_callback()
4556 rdata->result = -EIO; in smb2_readv_callback()
4564 if (rdata->mr) { in smb2_readv_callback()
4565 smbd_deregister_mr(rdata->mr); in smb2_readv_callback()
4566 rdata->mr = NULL; in smb2_readv_callback()
4569 if (rdata->result && rdata->result != -ENODATA) { in smb2_readv_callback()
4571 trace_smb3_read_err(rdata->rreq->debug_id, in smb2_readv_callback()
4572 rdata->subreq.debug_index, in smb2_readv_callback()
4573 rdata->xid, in smb2_readv_callback()
4574 rdata->req->cfile->fid.persistent_fid, in smb2_readv_callback()
4576 rdata->subreq.start + rdata->subreq.transferred, in smb2_readv_callback()
4577 rdata->subreq.len - rdata->subreq.transferred, in smb2_readv_callback()
4578 rdata->result); in smb2_readv_callback()
4580 trace_smb3_read_done(rdata->rreq->debug_id, in smb2_readv_callback()
4581 rdata->subreq.debug_index, in smb2_readv_callback()
4582 rdata->xid, in smb2_readv_callback()
4583 rdata->req->cfile->fid.persistent_fid, in smb2_readv_callback()
4585 rdata->subreq.start + rdata->subreq.transferred, in smb2_readv_callback()
4586 rdata->got_bytes); in smb2_readv_callback()
4588 if (rdata->result == -ENODATA) { in smb2_readv_callback()
4589 __set_bit(NETFS_SREQ_HIT_EOF, &rdata->subreq.flags); in smb2_readv_callback()
4590 rdata->result = 0; in smb2_readv_callback()
4592 size_t trans = rdata->subreq.transferred + rdata->got_bytes; in smb2_readv_callback()
4593 if (trans < rdata->subreq.len && in smb2_readv_callback()
4594 rdata->subreq.start + trans == ictx->remote_i_size) { in smb2_readv_callback()
4595 __set_bit(NETFS_SREQ_HIT_EOF, &rdata->subreq.flags); in smb2_readv_callback()
4596 rdata->result = 0; in smb2_readv_callback()
4598 if (rdata->got_bytes) in smb2_readv_callback()
4599 __set_bit(NETFS_SREQ_MADE_PROGRESS, &rdata->subreq.flags); in smb2_readv_callback()
4601 trace_smb3_rw_credits(rreq_debug_id, subreq_debug_index, rdata->credits.value, in smb2_readv_callback()
4604 rdata->credits.value = 0; in smb2_readv_callback()
4605 rdata->subreq.error = rdata->result; in smb2_readv_callback()
4606 rdata->subreq.transferred += rdata->got_bytes; in smb2_readv_callback()
4607 trace_netfs_sreq(&rdata->subreq, netfs_sreq_trace_io_progress); in smb2_readv_callback()
4608 netfs_read_subreq_terminated(&rdata->subreq); in smb2_readv_callback()
4618 smb2_async_readv(struct cifs_io_subrequest *rdata) in smb2_async_readv() argument
4622 struct netfs_io_subrequest *subreq = &rdata->subreq; in smb2_async_readv()
4625 struct smb_rqst rqst = { .rq_iov = rdata->iov, in smb2_async_readv()
4628 struct cifs_tcon *tcon = tlink_tcon(rdata->req->cfile->tlink); in smb2_async_readv()
4635 if (!rdata->server) in smb2_async_readv()
4636 rdata->server = cifs_pick_channel(tcon->ses); in smb2_async_readv()
4638 io_parms.tcon = tlink_tcon(rdata->req->cfile->tlink); in smb2_async_readv()
4639 io_parms.server = server = rdata->server; in smb2_async_readv()
4642 io_parms.persistent_fid = rdata->req->cfile->fid.persistent_fid; in smb2_async_readv()
4643 io_parms.volatile_fid = rdata->req->cfile->fid.volatile_fid; in smb2_async_readv()
4644 io_parms.pid = rdata->req->pid; in smb2_async_readv()
4647 (void **) &buf, &total_len, &io_parms, rdata, 0, 0); in smb2_async_readv()
4654 rdata->iov[0].iov_base = buf; in smb2_async_readv()
4655 rdata->iov[0].iov_len = total_len; in smb2_async_readv()
4656 rdata->got_bytes = 0; in smb2_async_readv()
4657 rdata->result = 0; in smb2_async_readv()
4661 if (rdata->credits.value > 0) { in smb2_async_readv()
4672 rc = adjust_credits(server, rdata, cifs_trace_rw_credits_call_readv_adjust); in smb2_async_readv()
4681 smb3_handle_read_data, rdata, flags, in smb2_async_readv()
4682 &rdata->credits); in smb2_async_readv()
4685 trace_smb3_read_err(rdata->rreq->debug_id, in smb2_async_readv()
4687 rdata->xid, io_parms.persistent_fid, in smb2_async_readv()