Re: [RFC-v2 6/6] virtio-scsi: Fix incorrect VirtIOSCSI->cmd_vqs[0] definition
From: Nicholas A. Bellinger <hidden>
Date: 2012-08-18 21:47:10
On Sat, 2012-08-18 at 20:52 +0200, Paolo Bonzini wrote:
Il 14/08/2012 22:20, Nicholas A. Bellinger ha scritto:quoted
quoted
quoted
quoted
quoted
Since virtio_scsi currently assumes a single vqs for data, this patch simply changes ->cmd_vqs[1] to handle the single VirtQueue.Wrong, multiqueue works just fine. :) It's just the kernel driver that doesn't support it yet.
<nod>
quoted
quoted
quoted
quoted
quoted
Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Stefan Hajnoczi <redacted> Cc: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Nicholas Bellinger <redacted>This is a bugfix we need even without vhost, right?I believe so, as it appears to be stomping past the end of memory for every virtio-scsi initialization regardless of vhost usage..You just did a wrong merge. When commit d2ad7dd (virtio-scsi: add multiqueue capability, 2012-04-06) changed cmd_vq from pointer to array of pointers, you should have moved the following fields to the middle of the struct, just like that commit did.
Ahh, I see how virtio_scsi_init() -> virtio_common_init() are setting up the memory now.. Apologies, my mistake. So moving the vhost-scsi related structure members ahead of the VirtQueue releated definitions for RFC-v3, and dropping this patch. Thanks Paolo! --nab