From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965119AbcFMJ6y (ORCPT ); Mon, 13 Jun 2016 05:58:54 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:36286 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965018AbcFMJ6w (ORCPT ); Mon, 13 Jun 2016 05:58:52 -0400 From: Bob Liu To: linux-kernel@vger.kernel.org Cc: mst@redhat.com, virtualization@lists.linux-foundation.org, Bob Liu Subject: [PATCH] drivers: virtio_blk: notify blk-core when hw-queue number changes Date: Mon, 13 Jun 2016 17:58:26 +0800 Message-Id: <1465811906-24510-1-git-send-email-bob.liu@oracle.com> X-Mailer: git-send-email 1.7.10.4 X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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