Lines Matching refs:wdata

4164 	struct cifs_writedata *wdata = mid->callback_data;  in smb2_writev_callback()  local
4165 struct cifs_tcon *tcon = tlink_tcon(wdata->cfile->tlink); in smb2_writev_callback()
4166 struct TCP_Server_Info *server = wdata->server; in smb2_writev_callback()
4171 WARN_ONCE(wdata->server != mid->server, in smb2_writev_callback()
4173 wdata->server, mid->server); in smb2_writev_callback()
4179 wdata->result = smb2_check_receive(mid, server, 0); in smb2_writev_callback()
4180 if (wdata->result != 0) in smb2_writev_callback()
4190 if (written > wdata->bytes) in smb2_writev_callback()
4193 if (written < wdata->bytes) in smb2_writev_callback()
4194 wdata->result = -ENOSPC; in smb2_writev_callback()
4196 wdata->bytes = written; in smb2_writev_callback()
4200 wdata->result = -EAGAIN; in smb2_writev_callback()
4207 wdata->result = -EIO; in smb2_writev_callback()
4218 if (wdata->mr) { in smb2_writev_callback()
4219 smbd_deregister_mr(wdata->mr); in smb2_writev_callback()
4220 wdata->mr = NULL; in smb2_writev_callback()
4223 if (wdata->result) { in smb2_writev_callback()
4226 wdata->cfile->fid.persistent_fid, in smb2_writev_callback()
4227 tcon->tid, tcon->ses->Suid, wdata->offset, in smb2_writev_callback()
4228 wdata->bytes, wdata->result); in smb2_writev_callback()
4229 if (wdata->result == -ENOSPC) in smb2_writev_callback()
4234 wdata->cfile->fid.persistent_fid, in smb2_writev_callback()
4236 wdata->offset, wdata->bytes); in smb2_writev_callback()
4238 queue_work(cifsiod_wq, &wdata->work); in smb2_writev_callback()
4245 smb2_async_writev(struct cifs_writedata *wdata, in smb2_async_writev() argument
4251 struct cifs_tcon *tcon = tlink_tcon(wdata->cfile->tlink); in smb2_async_writev()
4252 struct TCP_Server_Info *server = wdata->server; in smb2_async_writev()
4257 if (!wdata->server) in smb2_async_writev()
4258 server = wdata->server = cifs_pick_channel(tcon->ses); in smb2_async_writev()
4269 shdr->ProcessId = cpu_to_le32(wdata->cfile->pid); in smb2_async_writev()
4271 req->PersistentFileId = wdata->cfile->fid.persistent_fid; in smb2_async_writev()
4272 req->VolatileFileId = wdata->cfile->fid.volatile_fid; in smb2_async_writev()
4276 req->Offset = cpu_to_le64(wdata->offset); in smb2_async_writev()
4281 trace_smb3_write_enter(0 /* xid */, wdata->cfile->fid.persistent_fid, in smb2_async_writev()
4282 tcon->tid, tcon->ses->Suid, wdata->offset, wdata->bytes); in smb2_async_writev()
4288 if (server->rdma && !server->sign && wdata->bytes >= in smb2_async_writev()
4294 wdata->mr = smbd_register_mr( in smb2_async_writev()
4295 server->smbd_conn, wdata->pages, in smb2_async_writev()
4296 wdata->nr_pages, wdata->page_offset, in smb2_async_writev()
4297 wdata->tailsz, false, need_invalidate); in smb2_async_writev()
4298 if (!wdata->mr) { in smb2_async_writev()
4304 if (wdata->nr_pages > 1) in smb2_async_writev()
4307 (wdata->nr_pages - 1) * wdata->pagesz - in smb2_async_writev()
4308 wdata->page_offset + wdata->tailsz in smb2_async_writev()
4311 req->RemainingBytes = cpu_to_le32(wdata->tailsz); in smb2_async_writev()
4320 v1->offset = cpu_to_le64(wdata->mr->mr->iova); in smb2_async_writev()
4321 v1->token = cpu_to_le32(wdata->mr->mr->rkey); in smb2_async_writev()
4322 v1->length = cpu_to_le32(wdata->mr->mr->length); in smb2_async_writev()
4330 rqst.rq_pages = wdata->pages; in smb2_async_writev()
4331 rqst.rq_offset = wdata->page_offset; in smb2_async_writev()
4332 rqst.rq_npages = wdata->nr_pages; in smb2_async_writev()
4333 rqst.rq_pagesz = wdata->pagesz; in smb2_async_writev()
4334 rqst.rq_tailsz = wdata->tailsz; in smb2_async_writev()
4336 if (wdata->mr) { in smb2_async_writev()
4342 wdata->offset, wdata->bytes); in smb2_async_writev()
4346 if (!wdata->mr) in smb2_async_writev()
4347 req->Length = cpu_to_le32(wdata->bytes); in smb2_async_writev()
4349 req->Length = cpu_to_le32(wdata->bytes); in smb2_async_writev()
4352 if (wdata->credits.value > 0) { in smb2_async_writev()
4353 shdr->CreditCharge = cpu_to_le16(DIV_ROUND_UP(wdata->bytes, in smb2_async_writev()
4357 rc = adjust_credits(server, &wdata->credits, wdata->bytes); in smb2_async_writev()
4364 kref_get(&wdata->refcount); in smb2_async_writev()
4366 wdata, flags, &wdata->credits); in smb2_async_writev()
4370 tcon->tid, tcon->ses->Suid, wdata->offset, in smb2_async_writev()
4371 wdata->bytes, rc); in smb2_async_writev()
4372 kref_put(&wdata->refcount, release); in smb2_async_writev()