[libvirt] [PATCH 10/18] qemu: Support filesystem model=virtio-{non-}transitional

Cole Robinson crobinso at redhat.com
Tue Jan 22 18:37:08 UTC 2019


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




More information about the libvir-list mailing list