[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout

Cornelia Huck
Wed, 03 Dec 2014 09:27:36 -0000

On Tue, 2 Dec 2014 21:03:45 +0200
"Michael S. Tsirkin" <mst at redhat.com> wrote:

> On Tue, Dec 02, 2014 at 04:41:36PM +0100, Cornelia Huck wrote:
> >  void virtio_queue_set_num(VirtIODevice *vdev, int n, int num)
> >  {
> > +    /*
> > +     * For virtio-1 devices, the number of buffers may only be
> > +     * updated if the ring addresses have not yet been set up.
>
> Where does it say that?

Hmpf, may have imagined that.

This means we either need to track whether used/avail have been
specified or calculated or move responsibility for re-calculation of
used/avail for the old layout into the callers.
>
> > +     */
> > +    if (virtio_has_feature(vdev, VIRTIO_F_VERSION_1) &&
> > +        vdev->vq[n].vring.desc) {
> > +        error_report("tried to modify buffer num for virtio-1
device");
> > +        return;
> > +    }
> >      /* Don't allow guest to flip queue between existent and
> >       * nonexistent states, or to set it to an invalid size.
> >       */
>