qemu-devel
[Top][All Lists]
Advanced

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

[PATCH RFC] virtio-fs: force virtio 1.x usage


From: Cornelia Huck
Subject: [PATCH RFC] virtio-fs: force virtio 1.x usage
Date: Mon, 29 Jun 2020 12:27:58 +0200

virtio-fs devices are only specified for virtio-1, so it is unclear
how a legacy or transitional device should behave.

Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---

Forcing off legacy now (after the virtio-fs device has already been
available) may have unintended consequences, therefore RFC.

By default, a virtio-pci device uses 'AUTO' for disable_legacy, which
will resolve to different values based upon which bus the device has
been plugged. Therefore, forcing disable_legacy may result in the same
device or a quite different one.

Even though pre-virtio-1 behaviour of virtio-fs devices is simply not
specified, toggling disable_legacy will have implications for the BAR
layout, IIRC, and therefore a guest might end up getting a different
device, even if it always used it with virtio-1 anyway.

Not sure what the best way to solve this problem is. Adding a compat
property for disable_legacy=AUTO may be the right thing to do, but I'm
not quite clear if there are any further implications here.

Whatever we do here, we should make sure that the ccw incarnation of
this device indeed forces virtio-1.

---
 hw/virtio/vhost-user-fs-pci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/virtio/vhost-user-fs-pci.c b/hw/virtio/vhost-user-fs-pci.c
index e11c889d82b3..244205edf765 100644
--- a/hw/virtio/vhost-user-fs-pci.c
+++ b/hw/virtio/vhost-user-fs-pci.c
@@ -44,6 +44,7 @@ static void vhost_user_fs_pci_realize(VirtIOPCIProxy 
*vpci_dev, Error **errp)
         vpci_dev->nvectors = dev->vdev.conf.num_request_queues + 2;
     }
 
+    virtio_pci_force_virtio_1(vpci_dev);
     qdev_realize(vdev, BUS(&vpci_dev->bus), errp);
 }
 
-- 
2.25.4




reply via email to

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