diff mbox series

[v3,3/4] vhost-user-vsock-pci: force virtio version 1

Message ID 20200918074710.27810-4-sgarzare@redhat.com (mailing list archive)
State New, archived
Headers show
Series vhost-vsock: force virtio version 1 | expand

Commit Message

Stefano Garzarella Sept. 18, 2020, 7:47 a.m. UTC
Commit 9b3a35ec82 ("virtio: verify that legacy support is not
accidentally on") added a safety check that requires to set
'disable-legacy=on' on vhost-user-vsock-pci device:

    $ ./qemu-system-x86_64 ... \
    -chardev socket,id=char0,reconnect=0,path=/tmp/vhost4.socket \
    -device vhost-user-vsock-pci,chardev=char0
        qemu-system-x86_64: -device vhost-user-vsock-pci,chardev=char0:
        device is modern-only, use disable-legacy=on

virtio-vsock was introduced after the release of VIRTIO 1.0
specifications, so it should be 'modern-only'.

This patch forces virtio version 1 and removes the 'transitional_name'
property, as done for vhost-vsock-pci, removing the need to specify
'disable-legacy=on' on vhost-user-vsock-pci device.

Cc: qemu-stable@nongnu.org
Suggested-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
---
v2:
 - fixed commit message [Cornelia]
---
 hw/virtio/vhost-user-vsock-pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Cornelia Huck Sept. 18, 2020, 9:23 a.m. UTC | #1
On Fri, 18 Sep 2020 09:47:09 +0200
Stefano Garzarella <sgarzare@redhat.com> wrote:

> Commit 9b3a35ec82 ("virtio: verify that legacy support is not
> accidentally on") added a safety check that requires to set
> 'disable-legacy=on' on vhost-user-vsock-pci device:
> 
>     $ ./qemu-system-x86_64 ... \
>     -chardev socket,id=char0,reconnect=0,path=/tmp/vhost4.socket \
>     -device vhost-user-vsock-pci,chardev=char0
>         qemu-system-x86_64: -device vhost-user-vsock-pci,chardev=char0:
>         device is modern-only, use disable-legacy=on
> 
> virtio-vsock was introduced after the release of VIRTIO 1.0
> specifications, so it should be 'modern-only'.
> 
> This patch forces virtio version 1 and removes the 'transitional_name'
> property, as done for vhost-vsock-pci, removing the need to specify
> 'disable-legacy=on' on vhost-user-vsock-pci device.
> 
> Cc: qemu-stable@nongnu.org
> Suggested-by: Cornelia Huck <cohuck@redhat.com>
> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> ---
> v2:
>  - fixed commit message [Cornelia]
> ---
>  hw/virtio/vhost-user-vsock-pci.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/virtio/vhost-user-vsock-pci.c b/hw/virtio/vhost-user-vsock-pci.c
> index 763f89984e..14109121e2 100644
> --- a/hw/virtio/vhost-user-vsock-pci.c
> +++ b/hw/virtio/vhost-user-vsock-pci.c
> @@ -41,6 +41,7 @@ static void vhost_user_vsock_pci_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
>      VHostUserVSockPCI *dev = VHOST_USER_VSOCK_PCI(vpci_dev);
>      DeviceState *vdev = DEVICE(&dev->vdev);
>  
> +    virtio_pci_force_virtio_1(vpci_dev);

Maybe add a comment

/* unlike vhost-vsock, we do not need to care about pre-5.1 compat */


to help when we look at this in the future?

>      qdev_realize(vdev, BUS(&vpci_dev->bus), errp);
>  }
>  
> @@ -69,7 +70,6 @@ static void vhost_user_vsock_pci_instance_init(Object *obj)
>  static const VirtioPCIDeviceTypeInfo vhost_user_vsock_pci_info = {
>      .base_name             = TYPE_VHOST_USER_VSOCK_PCI,
>      .generic_name          = "vhost-user-vsock-pci",
> -    .transitional_name     = "vhost-user-vsock-pci-transitional",
>      .non_transitional_name = "vhost-user-vsock-pci-non-transitional",
>      .instance_size = sizeof(VHostUserVSockPCI),
>      .instance_init = vhost_user_vsock_pci_instance_init,

Otherwise,
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Stefano Garzarella Sept. 18, 2020, 10:01 a.m. UTC | #2
On Fri, Sep 18, 2020 at 11:23:16AM +0200, Cornelia Huck wrote:
> On Fri, 18 Sep 2020 09:47:09 +0200
> Stefano Garzarella <sgarzare@redhat.com> wrote:
> 
> > Commit 9b3a35ec82 ("virtio: verify that legacy support is not
> > accidentally on") added a safety check that requires to set
> > 'disable-legacy=on' on vhost-user-vsock-pci device:
> > 
> >     $ ./qemu-system-x86_64 ... \
> >     -chardev socket,id=char0,reconnect=0,path=/tmp/vhost4.socket \
> >     -device vhost-user-vsock-pci,chardev=char0
> >         qemu-system-x86_64: -device vhost-user-vsock-pci,chardev=char0:
> >         device is modern-only, use disable-legacy=on
> > 
> > virtio-vsock was introduced after the release of VIRTIO 1.0
> > specifications, so it should be 'modern-only'.
> > 
> > This patch forces virtio version 1 and removes the 'transitional_name'
> > property, as done for vhost-vsock-pci, removing the need to specify
> > 'disable-legacy=on' on vhost-user-vsock-pci device.
> > 
> > Cc: qemu-stable@nongnu.org
> > Suggested-by: Cornelia Huck <cohuck@redhat.com>
> > Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> > Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> > ---
> > v2:
> >  - fixed commit message [Cornelia]
> > ---
> >  hw/virtio/vhost-user-vsock-pci.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/hw/virtio/vhost-user-vsock-pci.c b/hw/virtio/vhost-user-vsock-pci.c
> > index 763f89984e..14109121e2 100644
> > --- a/hw/virtio/vhost-user-vsock-pci.c
> > +++ b/hw/virtio/vhost-user-vsock-pci.c
> > @@ -41,6 +41,7 @@ static void vhost_user_vsock_pci_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
> >      VHostUserVSockPCI *dev = VHOST_USER_VSOCK_PCI(vpci_dev);
> >      DeviceState *vdev = DEVICE(&dev->vdev);
> >  
> > +    virtio_pci_force_virtio_1(vpci_dev);
> 
> Maybe add a comment
> 
> /* unlike vhost-vsock, we do not need to care about pre-5.1 compat */
> 
> 
> to help when we look at this in the future?

Sure, I'll add in v4.

> 
> >      qdev_realize(vdev, BUS(&vpci_dev->bus), errp);
> >  }
> >  
> > @@ -69,7 +70,6 @@ static void vhost_user_vsock_pci_instance_init(Object *obj)
> >  static const VirtioPCIDeviceTypeInfo vhost_user_vsock_pci_info = {
> >      .base_name             = TYPE_VHOST_USER_VSOCK_PCI,
> >      .generic_name          = "vhost-user-vsock-pci",
> > -    .transitional_name     = "vhost-user-vsock-pci-transitional",
> >      .non_transitional_name = "vhost-user-vsock-pci-non-transitional",
> >      .instance_size = sizeof(VHostUserVSockPCI),
> >      .instance_init = vhost_user_vsock_pci_instance_init,
> 
> Otherwise,
> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> 

Thanks,
Stefano
diff mbox series

Patch

diff --git a/hw/virtio/vhost-user-vsock-pci.c b/hw/virtio/vhost-user-vsock-pci.c
index 763f89984e..14109121e2 100644
--- a/hw/virtio/vhost-user-vsock-pci.c
+++ b/hw/virtio/vhost-user-vsock-pci.c
@@ -41,6 +41,7 @@  static void vhost_user_vsock_pci_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
     VHostUserVSockPCI *dev = VHOST_USER_VSOCK_PCI(vpci_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
 
+    virtio_pci_force_virtio_1(vpci_dev);
     qdev_realize(vdev, BUS(&vpci_dev->bus), errp);
 }
 
@@ -69,7 +70,6 @@  static void vhost_user_vsock_pci_instance_init(Object *obj)
 static const VirtioPCIDeviceTypeInfo vhost_user_vsock_pci_info = {
     .base_name             = TYPE_VHOST_USER_VSOCK_PCI,
     .generic_name          = "vhost-user-vsock-pci",
-    .transitional_name     = "vhost-user-vsock-pci-transitional",
     .non_transitional_name = "vhost-user-vsock-pci-non-transitional",
     .instance_size = sizeof(VHostUserVSockPCI),
     .instance_init = vhost_user_vsock_pci_instance_init,