On Tue, Jan 15, 2019 at 04:51:39PM +0000, Daniel P. Berrangé wrote:
On Sun, Jan 13, 2019 at 06:12:05PM -0500, Cole Robinson wrote:
> <disk> devices lack the model= attribute which is used by
> most other device types. bus= mostly acts as one, but it
> serves other purposes too like determing what target=
> prefix to use, and for matching against controller type=
> values.
>
> Extending bus= to handle additional virtio transitional
> devices will complicate apps lives, and it isn't a clean
> mapping anyways. So let's bite the bullet and add a new
> <disk model=X/> attribute, and wire up common handling
> for virtio-{non-}transitional
>
> Signed-off-by: Cole Robinson <crobinso(a)redhat.com>
> ---
> docs/formatdomain.html.in | 8 ++++
> docs/schemas/domaincommon.rng | 8 ++++
> src/conf/domain_conf.c | 28 +++++++++++++
> src/conf/domain_conf.h | 10 +++++
> src/libvirt_private.syms | 2 +
> ...virtio-non-transitional.x86_64-latest.args | 34 +++++++++++++++
> .../virtio-non-transitional.xml | 26 ++++++++++++
> .../virtio-transitional.x86_64-latest.args | 34 +++++++++++++++
> .../qemuxml2argvdata/virtio-transitional.xml | 26 ++++++++++++
> tests/qemuxml2argvtest.c | 3 ++
> .../virtio-non-transitional.xml | 42 +++++++++++++++++++
> .../virtio-transitional.xml | 42 +++++++++++++++++++
> tests/qemuxml2xmltest.c | 3 ++
> 13 files changed, 266 insertions(+)
> create mode 100644
tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args
> create mode 100644 tests/qemuxml2argvdata/virtio-non-transitional.xml
> create mode 100644 tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args
> create mode 100644 tests/qemuxml2argvdata/virtio-transitional.xml
> create mode 100644 tests/qemuxml2xmloutdata/virtio-non-transitional.xml
> create mode 100644 tests/qemuxml2xmloutdata/virtio-transitional.xml
>
> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> index 7f07bb7f55..5220e19417 100644
> --- a/docs/formatdomain.html.in
> +++ b/docs/formatdomain.html.in
> @@ -2922,6 +2922,14 @@
> <span class="since">Since 0.1.4</span>
> </p>
> </dd>
> + <dt><code>model</code></dt>
> + <dd>
> + Indicates the emulated device model of the disk. Typically
> + this is indicated solely by the <code>bus</code> property
but
> + for <code>bus</code> "virtio" the model can be
specified further
> + with "virtio-transitional" or
"virtio-non-transitional"
> + <span class="since">Since 5.1.0</span>
We should note that this is *only* valid when using a <adress type=pci>
because the virtio-*ccw and virtio-*mmio don't support these.
In fact I wonder if that's good a reason to call them
"virtio-pci-transitional" and "virtio-pci-non-transitional"
The patch 6 made me re-consider whether this is good or not, as for other
existing devices we generally auto-add -pci -ccw or -mmio as needed.
Perhaps just using documentation is sufficient.
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|