Lines Matching refs:vbr
80 static inline blk_status_t virtblk_result(struct virtblk_req *vbr)
82 switch (vbr->status) {
92 static int virtblk_add_req(struct virtqueue *vq, struct virtblk_req *vbr,
98 sg_init_one(&hdr, &vbr->out_hdr, sizeof(vbr->out_hdr));
102 if (vbr->out_hdr.type & cpu_to_virtio32(vq->vdev, VIRTIO_BLK_T_OUT))
108 sg_init_one(&status, &vbr->status, sizeof(vbr->status));
111 return virtqueue_add_sgs(vq, sgs, num_out, num_in, vbr, GFP_ATOMIC);
164 struct virtblk_req *vbr = blk_mq_rq_to_pdu(req);
171 blk_mq_end_request(req, virtblk_result(vbr));
179 struct virtblk_req *vbr;
186 while ((vbr = virtqueue_get_buf(vblk->vqs[qid].vq, &len)) != NULL) {
187 struct request *req = blk_mq_rq_from_pdu(vbr);
222 struct virtblk_req *vbr = blk_mq_rq_to_pdu(req);
256 vbr->out_hdr.type = cpu_to_virtio32(vblk->vdev, type);
257 vbr->out_hdr.sector = type ?
259 vbr->out_hdr.ioprio = cpu_to_virtio32(vblk->vdev, req_get_ioprio(req));
269 num = blk_rq_map_sg(hctx->queue, req, vbr->sg);
272 vbr->out_hdr.type |= cpu_to_virtio32(vblk->vdev, VIRTIO_BLK_T_OUT);
274 vbr->out_hdr.type |= cpu_to_virtio32(vblk->vdev, VIRTIO_BLK_T_IN);
278 err = virtblk_add_req(vblk->vqs[qid].vq, vbr, vbr->sg, num);
675 struct virtblk_req *vbr = blk_mq_rq_to_pdu(rq);
677 sg_init_table(vbr->sg, vblk->sg_elems);