On Fri, Oct 07, 2016 at 11:09:54AM -0400, John Ferlan wrote:
On 09/27/2016 08:24 AM, Martin Kletzander wrote:
> The old ivshmem is deprecated in QEMU, so let's use the better
> ivshmem-{plain,doorbell} variants instead.
>
Perhaps explained a bit differently (my understanding ;-))... Older
versions of qemu had one type (ivshmem - the current default), but newer
versions of qemu will force selection of a specific type using "plain"
or "doorbell" as the model type depending on which "features" are
desired (??) [fill in the details]
Old ivshmem could've been optionally used with or without "server"
option (it would connect to a UNIX socket and talk to the server and so
on. That got broken up to two separate new devices. One without server
(-plain) and one with the server (-doorbell). As mentioned in one of
the previous series, I could've add model named something like
'ivshmem-newer' and under the covers choose -plain or -doorbell, but 1)
it would be really stupid and 2) the differentiation could change in the
future and being specific is better than being bitten in the butt later
on.
I guess the nagging question is - what happens if someone
"chooses" to
have <model type='ivshmem'> in this newer world? Does the deprecation
from qemu kick in and the domain cannot start? We should note that
somehow/somewhere.
They get a warning in the log saying "ivshmem is deprecated, please use
ivshmem-plain or ivshmem-doorbell instead". And if QEMU stops
supporting that, we'll know about it thanks to the capabilities and tell
the user that the model is not available (like for _almost_ all other
devices).
> Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
> ---
> docs/schemas/domaincommon.rng | 2 ++
> src/conf/domain_conf.c | 4 +++-
> src/conf/domain_conf.h | 2 ++
> src/qemu/qemu_command.c | 7 +++++++
> 4 files changed, 14 insertions(+), 1 deletion(-)
>
docs/formatdomain.html.in needs to change here too
In particular what constitutes each setting - that is are there XML
elements that would or wouldn't make sense for the type of shmem device
(I'm thinking of Daniel's table here).
BTW: When using your "Since" tags, it'll need to be clear which version
of qemu no longer supports "type='ivshmem'" and forces someone to
choose
-plain or -doorbell.
I'd rather remove the Since (at least for QEMU, maybe leave one for
libvirt), the version doesn't mean poopsicle. I can see the nitpicky
people saying: "look, I have this QEMU and it says it shouldn't be
supported and it is, isn't this a bug?" because some distribution chose
to backport one patch. I don't think the versions make sense, everyone
can lookup when it was introduced. I believe it's not that hard.
ACK w/ the doc change
John