qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V2 0/5] Set correct blk feature for virtio 1.0


From: Cornelia Huck
Subject: Re: [Qemu-devel] [PATCH V2 0/5] Set correct blk feature for virtio 1.0
Date: Wed, 15 Jul 2015 13:38:42 +0200

On Wed, 15 Jul 2015 17:39:53 +0800
Jason Wang <address@hidden> wrote:

> 
> 
> On 07/15/2015 05:11 PM, Cornelia Huck wrote:
> > On Wed, 15 Jul 2015 13:29:56 +0800
> > Jason Wang <address@hidden> wrote:
> >
> >> Hi all:
> >>
> >> This series tries to set feature correctly for virtio-blk when virtio
> >> 1.0 is supported. Two isssues were addressed according to the spec:
> >>
> >> - scsi passthrough was not support in 1.0. This is done by, 1) disable
> >>   scsi by defautl for 2.4 machine type and fail the initialization
> >>   when both scsi and 1.0 were set.
> >> - any layout must be set for transitional device. This is done by set
> >>   any layout when 1.0 is supported.
> >>
> >> Please review
> >>
> >> Changes from V1:
> >> - Split virtio-net changes out of the series
> >> - Enable VIRTIO_BLK_F_SCSI only when scsi is set
> >> - Disable scsi by default and compat it for legacy machine types
> >> - Let get_features() can fail and fail the initialization of
> >>   virito-blk when both 1.0 and scsi were supported.
> > Hm, this seems confusing to me mainly due to the different way
> > transitional devices are handled by pci and ccw.
> >
> > For virtio-pci: (please correct me if I misunderstood)
> > - devices (except input) are transitional by default
> > - user can disable legacy or modern support
> > - drivers can use method they prefer, depending on VERSION_1
> >
> > For virtio-ccw:
> > - transitional means "in limbo" regarding legacy or modern
> > - devices become legacy if features are read without negotiation of a
> >   revision, or if revision 0 is negotiated
> > - they become modern if revision 1 is negotiated
> >
> > That implies that for ccw, a transitional device does not offer any
> > features: It either transitions to the legacy or modern state if a
> > revision was negotiated, or it becomes a legacy device by reading
> > features (which are the legacy features, then). While pci has "real"
> > transitional devices needing to offer a certain feature set.
> >
> > I'm not sure what the solution is here: basically, ccw needs a dynamic
> > feature set, while pci does not.
> >
> 
> So, if I understand correctly. All virtio-ccw devices are transitional
> since user can disable neither legacy nor modern. It looks to me then we
> can set VIRTIO_F_VERSION_1 unconditionally for ccw. Then there's no
> issue left?

I think the base problem is that "transitional" for pci means something
slightly different than "transitional" for ccw - it's more transient
for ccw.

Setting VERSION_1 is not really the problem (as legacy guests will only
retrieve the first 32 bits of features anyway), but any decicions about
other feature bits that are made based upon the presence of VERSION_1.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]