Lines Matching refs:req

132 	struct p9_req_t *req;  in req_done()  local
139 while ((req = virtqueue_get_buf(chan->vq, &len)) != NULL) { in req_done()
146 req->rc.size = len; in req_done()
147 p9_client_cb(chan->client, req, REQ_STATUS_RCVD); in req_done()
193 static int p9_virtio_cancel(struct p9_client *client, struct p9_req_t *req) in p9_virtio_cancel() argument
199 static int p9_virtio_cancelled(struct p9_client *client, struct p9_req_t *req) in p9_virtio_cancelled() argument
201 p9_req_put(client, req); in p9_virtio_cancelled()
255 p9_virtio_request(struct p9_client *client, struct p9_req_t *req) in p9_virtio_request() argument
265 WRITE_ONCE(req->status, REQ_STATUS_SENT); in p9_virtio_request()
272 VIRTQUEUE_NUM, req->tc.sdata, req->tc.size); in p9_virtio_request()
277 VIRTQUEUE_NUM, req->rc.sdata, req->rc.capacity); in p9_virtio_request()
281 err = virtqueue_add_sgs(chan->vq, sgs, out_sgs, in_sgs, req, in p9_virtio_request()
380 static void handle_rerror(struct p9_req_t *req, int in_hdr_len, in handle_rerror() argument
384 void *to = req->rc.sdata + in_hdr_len; in handle_rerror()
387 if (req->rc.size < in_hdr_len || !pages) in handle_rerror()
394 if (unlikely(req->rc.size > P9_ZC_HDR_SZ)) in handle_rerror()
395 req->rc.size = P9_ZC_HDR_SZ; in handle_rerror()
398 size = req->rc.size - in_hdr_len; in handle_rerror()
421 p9_virtio_zc_request(struct p9_client *client, struct p9_req_t *req, in p9_virtio_zc_request() argument
448 memcpy(&req->tc.sdata[req->tc.size - 4], &v, 4); in p9_virtio_zc_request()
455 sz = cpu_to_le32(req->tc.size + outlen); in p9_virtio_zc_request()
456 memcpy(&req->tc.sdata[0], &sz, sizeof(sz)); in p9_virtio_zc_request()
467 memcpy(&req->tc.sdata[req->tc.size - 4], &v, 4); in p9_virtio_zc_request()
471 WRITE_ONCE(req->status, REQ_STATUS_SENT); in p9_virtio_zc_request()
479 VIRTQUEUE_NUM, req->tc.sdata, req->tc.size); in p9_virtio_zc_request()
498 VIRTQUEUE_NUM, req->rc.sdata, in_hdr_len); in p9_virtio_zc_request()
509 err = virtqueue_add_sgs(chan->vq, sgs, out_sgs, in_sgs, req, in p9_virtio_zc_request()
534 err = wait_event_killable(req->wq, in p9_virtio_zc_request()
535 READ_ONCE(req->status) >= REQ_STATUS_RCVD); in p9_virtio_zc_request()
537 if (READ_ONCE(req->status) == REQ_STATUS_RCVD && in p9_virtio_zc_request()
538 unlikely(req->rc.sdata[4] == P9_RERROR)) in p9_virtio_zc_request()
539 handle_rerror(req, in_hdr_len, offs, in_pages); in p9_virtio_zc_request()
561 p9_req_put(client, req); in p9_virtio_zc_request()