[libvirt] [PATCH 3/6] conf: Add <disk model='virtio-{non-}transitional'/>

Daniel P. Berrangé berrange at redhat.com
Tue Jan 15 17:00:31 UTC 2019


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




More information about the libvir-list mailing list