
On 01/18/2019 06:44 AM, Daniel P. Berrangé wrote:
On Thu, Jan 17, 2019 at 12:52:37PM -0500, Cole Robinson wrote:
Add <filesystem> model handling for virtio transitional devices. Ex:
<filesystem type='mount' model='virtio-transitional'> ... </filesystem
* "virtio-transitional" maps to qemu "virtio-9p-pci-transitional" * "virtio-non-transitional" maps to qemu "virtio-9p-pci-non-transitional"
For QEMU the <filesystem> element currently implies the 9p filesystem passthrough impl.
We already have a need to reuse it for USB-MTP filesystem sharing, and quite soon we'll have to support virtio-fs too. The virtio-fs module is essentially fuse-over-virtio IIUC. In fact I wonder why we're not just calling that device virtio-fuse to make it explicit !
Anyway the point is that model=virtio-transitional is potentially ambiguous, depending on how we intend to deal with this.
I was at first thinking of model="virtio-9p|virtio-fs|usb-mtp" to deal with the existing issue, but you're proposing using model already.
I'm a little mixed about how to best dovetail with the transitional stuff. We could use 'model' stuff but expand it:
virtio-9p virtio-9p-transitional virtio-9p-non-transitional virtio-fs usb-mtp
IIUC, we don't need a -transitional/-non-transitional variant for virtio-fs since it will be a modern device only - same as with virtio-gpu.
Or we could do things different and invert something like a 'protocol' concept for the filesystem.
<filesystem type='mount'> <target dir="foo" protocol="9p|mtp|fuse"/> </filesystem>
The 9p|mtp|fuse is certainly more generalized, but I think it's helpful for self documenting purposes to have virtio-fs somewhere in the XML, if that's what the feature will commonly be known as. Users may not even realize virtio-fs is using fuse, leading to ask questions about how to enable virtio-fs or if it's enabled in their XML. Makes me think of the ich6/ich9 vs hda naming... the former is technically more correct and follows qemu naming, yet I've had a dozen questions over the years about where the libvirt HDA option is. I'll aim for the model=virtio-9p-transitional for the next round unless somebody yells... - Cole