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"
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 :|