All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: pbonzini@redhat.com, qemu-devel@nongnu.org, mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH V3 2/3] virtio-blk: fail get_features when both scsi and 1.0 were set
Date: Wed, 22 Jul 2015 17:35:07 +0800	[thread overview]
Message-ID: <55AF63CB.4030008@redhat.com> (raw)
In-Reply-To: <20150722105843.41d22942.cornelia.huck@de.ibm.com>



On 07/22/2015 04:58 PM, Cornelia Huck wrote:
> On Wed, 22 Jul 2015 13:59:51 +0800
> Jason Wang <jasowang@redhat.com> wrote:
>
>> SCSI passthrough was no longer supported in virtio 1.0, so this patch
>> fail the get_features() when both 1.0 and scsi is set. And also only
>> advertise VIRTIO_BLK_F_SCSI for legacy virtio-blk device.
>>
>> Signed-off-by: Jason Wang <jasowang@redhat.com>
>> ---
>>  hw/block/virtio-blk.c | 9 ++++++++-
>>  1 file changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
>> index 4c27974..4716c3e 100644
>> --- a/hw/block/virtio-blk.c
>> +++ b/hw/block/virtio-blk.c
>> @@ -731,7 +731,14 @@ static uint64_t virtio_blk_get_features(VirtIODevice *vdev, uint64_t features,
>>      virtio_add_feature(&features, VIRTIO_BLK_F_GEOMETRY);
>>      virtio_add_feature(&features, VIRTIO_BLK_F_TOPOLOGY);
>>      virtio_add_feature(&features, VIRTIO_BLK_F_BLK_SIZE);
>> -    virtio_add_feature(&features, VIRTIO_BLK_F_SCSI);
>> +    if (__virtio_has_feature(features, VIRTIO_F_VERSION_1)) {
>> +        if (s->conf.scsi) {
>> +            error_setg(errp, "Virtio 1.0 does not support scsi passthrough!");
>> +            return 0;
>> +        }
>> +    } else {
>> +        virtio_add_feature(&features, VIRTIO_BLK_F_SCSI);
>> +    }
>>
>>      if (s->conf.config_wce) {
>>          virtio_add_feature(&features, VIRTIO_BLK_F_CONFIG_WCE);
> Do we advertise F_SCSI even if scsi is not configured in order to keep
> the same bits as before? I'm afraid I don't remember, that thread was
> long :/
>
> I'm asking because I'd like to depend on that bit to decide whether I
> can negotiate revision 1 for ccw and subsequently offer VERSION_1. It
> would be an easy thing to do, and I'd like to avoid mucking around with
> device-specific configuration from the transport.

I don't see much difference. Both of our patches needs to set scsi to
off to have 1.0 device. And I don't see advantages that did it from
transport. If it has, we probably need something similar in virtio-pci.

>
> To illustrate what I'm talking about, my current patchset for virtio-1
> on ccw is here:
>
> git://github.com/cohuck/qemu virtio-1-ccw-2.5
>

Looks like patch "virtio-blk: scsi is legacy only" breaks backward
compatibility because VIRTIO_BLK_F_SCSI was not notified when scsi is off.

Thanks

  parent reply	other threads:[~2015-07-22  9:35 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-22  5:59 [Qemu-devel] [PATCH V3 0/3] Set correct blk feature for virtio 1.0 Jason Wang
2015-07-22  5:59 ` [Qemu-devel] [PATCH V3 1/3] virtio: get_features() can fail Jason Wang
2015-07-22  5:59 ` [Qemu-devel] [PATCH V3 2/3] virtio-blk: fail get_features when both scsi and 1.0 were set Jason Wang
2015-07-22  8:58   ` Cornelia Huck
2015-07-22  9:21     ` Michael S. Tsirkin
2015-07-22 10:25       ` Cornelia Huck
2015-07-22 10:32         ` Michael S. Tsirkin
2015-07-22 10:38           ` Cornelia Huck
2015-07-22 10:44             ` Michael S. Tsirkin
2015-07-22 10:55               ` Cornelia Huck
2015-07-22 14:53                 ` Michael S. Tsirkin
2015-07-22 16:11                   ` Cornelia Huck
2015-07-22 16:34                     ` Michael S. Tsirkin
2015-07-23  9:07                       ` Cornelia Huck
2015-07-23  9:37                         ` Paolo Bonzini
2015-07-23 10:15                           ` Cornelia Huck
2015-07-22  9:35     ` Jason Wang [this message]
2015-07-22 10:23       ` Cornelia Huck
2015-07-22  9:25   ` Michael S. Tsirkin
2015-07-22  9:52     ` Jason Wang
2015-07-22 10:12       ` Michael S. Tsirkin
2015-07-22 10:13         ` Michael S. Tsirkin
2015-07-22  9:31   ` Daniel P. Berrange
2015-07-22  9:45     ` Jason Wang
2015-07-22 10:19     ` Michael S. Tsirkin
2015-07-22 11:40       ` Paolo Bonzini
2015-07-22 11:46         ` Daniel P. Berrange
2015-07-22 11:53           ` Paolo Bonzini
2015-07-22 14:56             ` Michael S. Tsirkin
2015-07-22 16:15         ` Michael S. Tsirkin
2015-07-22 16:42           ` Paolo Bonzini
2015-07-22  5:59 ` [Qemu-devel] [PATCH V3 3/3] virtio-blk: set VIRTIO_F_ANY_LAYOUT when 1.0 is supported Jason Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55AF63CB.4030008@redhat.com \
    --to=jasowang@redhat.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.