[PATCH] drivers: virtio_blk: notify blk-core when hw-queue number changes

From: Bob Liu
Date: Mon Jun 13 2016 - 05:58:56 EST


A guest might be migrated to other hosts with different num_queues, the
blk-core should aware of that else the reference of &vblk->vqs[qid] may be wrong.

Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx>
---
drivers/block/virtio_blk.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 42758b5..c169238 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
@@ -819,6 +819,9 @@ static int virtblk_restore(struct virtio_device *vdev)
if (ret)
return ret;

+ if (vblk->num_vqs != vblk->tag_set.nr_hw_queues)
+ blk_mq_update_nr_hw_queues(&vblk->tag_set, vblk->num_vqs);
+
virtio_device_ready(vdev);

blk_mq_start_stopped_hw_queues(vblk->disk->queue, true);
--
2.7.4