• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/usr/drivers/virtio/block/

Lines Matching refs:req

26 static errval_t request_status(struct vblock_req *req)
28 switch(req->ack) {
42 static errval_t request_finish(struct vblock_req *req)
46 buf = virtio_blist_head(&req->bl);
51 buf = virtio_blist_tail(&req->bl);
73 struct vblock_req *req = calloc(ndesc, sizeof(struct vblock_req));
74 if (req == NULL) {
79 dev->free_queue.head = req;
80 dev->free_queue.tail = req+(ndesc-1);
83 req->queue = &dev->free_queue;
84 req->next = req+1;
85 req++;
88 dev->requests = req;
118 struct vblock_req *req;
126 req = queue->head;
132 queue->head = req->next;
137 req->queue = NULL;
138 req->next = NULL;
140 return req;
147 * \param req the request to insert
150 struct vblock_req *req)
152 assert(req->queue == NULL);
153 assert(req->next == NULL);
156 queue->head = req;
157 queue->tail = req;
159 queue->tail->next = req;
160 queue->tail = req;
165 req->queue = queue;
172 * \param req the request to execute
177 struct vblock_req *req)
179 VBLOCK_DEBUG_REQ("starting request [%016lx]\n", (uintptr_t)req);
188 if (req->writable) {
189 num_wr = req->bl.length;
191 num_rd = req->bl.length;
204 memcpy(buf->buf, &req->header, sizeof(req->header));
206 err = virtio_blist_prepend(&req->bl, buf);
221 err = virtio_blist_append(&req->bl, buf);
224 return virtio_virtqueue_desc_enqueue(vq, &req->bl, req, num_rd, num_wr);
232 * \param req the request to execute
237 * req has been executed and holds the data.
240 struct vblock_req *req)
251 err = vblock_request_start(dev, req);
268 assert(ret_req == req);
270 request_finish(req);
272 return request_status(req);