Lines Matching refs:wdata

3294 	struct cifs_writedata *wdata = mid->callback_data;  in smb2_writev_callback()  local
3295 struct cifs_tcon *tcon = tlink_tcon(wdata->cfile->tlink); in smb2_writev_callback()
3303 wdata->result = smb2_check_receive(mid, tcon->ses->server, 0); in smb2_writev_callback()
3304 if (wdata->result != 0) in smb2_writev_callback()
3314 if (written > wdata->bytes) in smb2_writev_callback()
3317 if (written < wdata->bytes) in smb2_writev_callback()
3318 wdata->result = -ENOSPC; in smb2_writev_callback()
3320 wdata->bytes = written; in smb2_writev_callback()
3324 wdata->result = -EAGAIN; in smb2_writev_callback()
3327 wdata->result = -EIO; in smb2_writev_callback()
3338 if (wdata->mr) { in smb2_writev_callback()
3339 smbd_deregister_mr(wdata->mr); in smb2_writev_callback()
3340 wdata->mr = NULL; in smb2_writev_callback()
3343 if (wdata->result) in smb2_writev_callback()
3346 queue_work(cifsiod_wq, &wdata->work); in smb2_writev_callback()
3353 smb2_async_writev(struct cifs_writedata *wdata, in smb2_async_writev() argument
3359 struct cifs_tcon *tcon = tlink_tcon(wdata->cfile->tlink); in smb2_async_writev()
3367 if (rc == -EAGAIN && wdata->credits) { in smb2_async_writev()
3369 wdata->credits = 0; in smb2_async_writev()
3382 shdr->ProcessId = cpu_to_le32(wdata->cfile->pid); in smb2_async_writev()
3384 req->PersistentFileId = wdata->cfile->fid.persistent_fid; in smb2_async_writev()
3385 req->VolatileFileId = wdata->cfile->fid.volatile_fid; in smb2_async_writev()
3389 req->Offset = cpu_to_le64(wdata->offset); in smb2_async_writev()
3398 if (server->rdma && !server->sign && wdata->bytes >= in smb2_async_writev()
3404 wdata->mr = smbd_register_mr( in smb2_async_writev()
3405 server->smbd_conn, wdata->pages, in smb2_async_writev()
3406 wdata->nr_pages, wdata->page_offset, in smb2_async_writev()
3407 wdata->tailsz, false, need_invalidate); in smb2_async_writev()
3408 if (!wdata->mr) { in smb2_async_writev()
3414 if (wdata->nr_pages > 1) in smb2_async_writev()
3417 (wdata->nr_pages - 1) * wdata->pagesz - in smb2_async_writev()
3418 wdata->page_offset + wdata->tailsz in smb2_async_writev()
3421 req->RemainingBytes = cpu_to_le32(wdata->tailsz); in smb2_async_writev()
3430 v1->offset = cpu_to_le64(wdata->mr->mr->iova); in smb2_async_writev()
3431 v1->token = cpu_to_le32(wdata->mr->mr->rkey); in smb2_async_writev()
3432 v1->length = cpu_to_le32(wdata->mr->mr->length); in smb2_async_writev()
3440 rqst.rq_pages = wdata->pages; in smb2_async_writev()
3441 rqst.rq_offset = wdata->page_offset; in smb2_async_writev()
3442 rqst.rq_npages = wdata->nr_pages; in smb2_async_writev()
3443 rqst.rq_pagesz = wdata->pagesz; in smb2_async_writev()
3444 rqst.rq_tailsz = wdata->tailsz; in smb2_async_writev()
3446 if (wdata->mr) { in smb2_async_writev()
3452 wdata->offset, wdata->bytes); in smb2_async_writev()
3456 if (!wdata->mr) in smb2_async_writev()
3457 req->Length = cpu_to_le32(wdata->bytes); in smb2_async_writev()
3459 req->Length = cpu_to_le32(wdata->bytes); in smb2_async_writev()
3462 if (wdata->credits) { in smb2_async_writev()
3463 shdr->CreditCharge = cpu_to_le16(DIV_ROUND_UP(wdata->bytes, in smb2_async_writev()
3467 server->credits += wdata->credits - in smb2_async_writev()
3474 kref_get(&wdata->refcount); in smb2_async_writev()
3476 wdata, flags); in smb2_async_writev()
3480 tcon->tid, tcon->ses->Suid, wdata->offset, in smb2_async_writev()
3481 wdata->bytes, rc); in smb2_async_writev()
3482 kref_put(&wdata->refcount, release); in smb2_async_writev()
3486 tcon->tid, tcon->ses->Suid, wdata->offset, in smb2_async_writev()
3487 wdata->bytes); in smb2_async_writev()