diff options
Diffstat (limited to 'drivers/block/virtio_blk.c')
| -rw-r--r-- | drivers/block/virtio_blk.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c index 6a680d4de7f1..b1cb3f4c4db4 100644 --- a/drivers/block/virtio_blk.c +++ b/drivers/block/virtio_blk.c | |||
| @@ -110,9 +110,9 @@ static int __virtblk_add_req(struct virtqueue *vq, | |||
| 110 | return virtqueue_add_sgs(vq, sgs, num_out, num_in, vbr, GFP_ATOMIC); | 110 | return virtqueue_add_sgs(vq, sgs, num_out, num_in, vbr, GFP_ATOMIC); |
| 111 | } | 111 | } |
| 112 | 112 | ||
| 113 | static inline void virtblk_request_done(struct virtblk_req *vbr) | 113 | static inline void virtblk_request_done(struct request *req) |
| 114 | { | 114 | { |
| 115 | struct request *req = vbr->req; | 115 | struct virtblk_req *vbr = req->special; |
| 116 | int error = virtblk_result(vbr); | 116 | int error = virtblk_result(vbr); |
| 117 | 117 | ||
| 118 | if (req->cmd_type == REQ_TYPE_BLOCK_PC) { | 118 | if (req->cmd_type == REQ_TYPE_BLOCK_PC) { |
| @@ -138,7 +138,7 @@ static void virtblk_done(struct virtqueue *vq) | |||
| 138 | do { | 138 | do { |
| 139 | virtqueue_disable_cb(vq); | 139 | virtqueue_disable_cb(vq); |
| 140 | while ((vbr = virtqueue_get_buf(vblk->vq, &len)) != NULL) { | 140 | while ((vbr = virtqueue_get_buf(vblk->vq, &len)) != NULL) { |
| 141 | virtblk_request_done(vbr); | 141 | blk_mq_complete_request(vbr->req); |
| 142 | req_done = true; | 142 | req_done = true; |
| 143 | } | 143 | } |
| 144 | if (unlikely(virtqueue_is_broken(vq))) | 144 | if (unlikely(virtqueue_is_broken(vq))) |
| @@ -479,6 +479,7 @@ static struct blk_mq_ops virtio_mq_ops = { | |||
| 479 | .map_queue = blk_mq_map_queue, | 479 | .map_queue = blk_mq_map_queue, |
| 480 | .alloc_hctx = blk_mq_alloc_single_hw_queue, | 480 | .alloc_hctx = blk_mq_alloc_single_hw_queue, |
| 481 | .free_hctx = blk_mq_free_single_hw_queue, | 481 | .free_hctx = blk_mq_free_single_hw_queue, |
| 482 | .complete = virtblk_request_done, | ||
| 482 | }; | 483 | }; |
| 483 | 484 | ||
| 484 | static struct blk_mq_reg virtio_mq_reg = { | 485 | static struct blk_mq_reg virtio_mq_reg = { |
