On Tue, 7 Jul 2020 12:54:44 +0200 Cornelia Huck <coh...@redhat.com> wrote:
> As discussed in "virtio-fs: force virtio 1.x usage", it seems like > a good idea to make sure that any new virtio device (which does not > support legacy virtio) is indeed a non-transitional device, just to > catch accidental misconfigurations. We can easily compile a list > of virtio devices with legacy support and have transports verify > in their plugged callbacks that legacy support is off for any device > not in that list. > > Most new virtio devices force non-transitional already, so nothing > changes for them. vhost-user-fs-pci even does not allow to configure > a non-transitional device, so it is fine as well. > > One problematic device, however, is virtio-iommu-pci. It currently > offers both the transitional and the non-transitional variety of the > device, and does not force anything. I'm unsure whether we should > consider transitional virtio-iommu unsupported, or if we should add > some compat handling. (The support for legacy or not generally may > change based upon the bus, IIUC, so I'm unsure how to come up with > something generic.) > Both patches look good to me (Acked-by: Halil Pasic <pa...@linux.ibm.com>). I tend to agree with Davids comment on how this information is coded: the more object oriented way would have been to store this at the something like VirtioDeviceClass, but Michael's argument stands. Another OO option would be to expose this as a virtio property. Would enable introspection, and would also give the host admin means to force non-legacy for transitional devices. But the juice is probably not worth the squeeze. Regards, Halil