On 06/19/2016 06:10 AM, Paolo Bonzini wrote: > > > On 13/06/2016 11:58, Bob Liu wrote: >> 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); >> > > This should never happen; it'd be a configuration problem. > Do you mean all hosts have to be configured with the same number of ->num_vqs? What about cases like migrating a guest from HostA to HostB while HostB is much more powerful and would like to run more hardware queues to get better performance. Thanks, Bob Liu _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization